Tôi đang sử dụng sed trong unix để thay thế một số văn bản bằng các ký tự đặc biệt trong một tệp. Tôi google nó và tìm lệnh sau
sed 's/from/to/g' file.txt
ở đây 'từ' là văn bản gốc được thay thế, 'thành' là văn bản thay thế
Tôi đang cố gắng áp dụng điều này cho một tệp có văn bản dài với các ký tự đặc biệt, tức là thay thế "/D/ec
sed 's//D/dec/prog/g++.exe -Wall --std=c++0x/SYSTEM_PATH/BIN/g' file.txt
nhưng điều này xuất hiện với lỗi "sed: -e biểu thức # 1, char 10: tùy chọn không xác định đối với` s '".
Tôi mới bắt đầu sử dụng unix nhưng vì một số lý do tôi cần đăng nhập từ xa một máy chủ unix để xử lý một số tệp. Tôi muốn biết
1) làm thế nào tôi có thể định nghĩa từ và chuỗi thành một biến, đại loại như FROMSTR = '/D/dec/prog/g++.exe -Wall --std = c ++ 0x' TOSTR = 'HỆ THỐNG HỆ THỐNG / BIN'
vì vậy tôi có thể gọi sed như sed 's / $ FROMSTR / $ TO / g' file.txt
nhưng dường như sed không biết diễn giải nó như là biến
2) sau khi thay thế văn bản bằng sed, nó không ghi kết quả trở lại tệp gốc. Làm thế nào để làm cho nó hoạt động?