Я использую sed в Unix, чтобы заменить некоторый текст специальными символами в файле. Я гуглю это и нахожу следующую команду
sed 's/from/to/g' file.txt
здесь 'from' - исходный текст, подлежащий замене, 'to' - текст замены
Я пытаюсь применить это к файлу с длинным текстом со специальными символами, то есть заменив "/D/dec/prog/g++.exe -Wall --std = c++0x" (без кавычек) на "SYSTEM_PATH/BIN" , Я пытаюсь следующее, но это не работает
sed 's//D/dec/prog/g++.exe -Wall --std=c++0x/SYSTEM_PATH/BIN/g' file.txt
но это приводит к ошибке "sed: -e выражение # 1, char 10: неизвестная опция для` s '".
Я новичок в Unix, но по какой-то причине мне нужно удаленно войти на сервер Unix для обработки какого-либо файла. я хочу знать
1) как я могу определить переменную from и to для переменной, что-то вроде FROMSTR = '/D/dec/prog/g++.exe -Wall --std = c++0x' TOSTR = 'SYSTEM_PATH/BIN'
поэтому я могу вызвать sed как sed 's/$ FROMSTR/$ TO/g' file.txt
но, кажется, СЭД не знаю, как интерпретировать это как переменную
2) после замены текста на sed он не записывает результат обратно в исходный файл. Как заставить это работать?