Я не нашел решение для следующей глупой задачи.Задача sed не работает на macbook pro
У меня есть файл, полный путь Я обозначаю с
file_name
и две строки, которые хранятся в переменных var1
и var2
.
Я знаю, что строка в var2
находится внутри файла file_name
. Я хочу найти и заменить все вхождения var2
в file_name
со строкой в var1
.
Эти строки содержат названия путей. Это означает, что у меня есть символ /
внутри.
Кроме того, моя машина является macbook pro.
Объединяя много предложений найдено в Интернете я, наконец, попробовал в терминале
sed -i "" -e "s:$var2:$var1:g" file_name
Результат: имя_файла не меняется. Любое предложение?
Есть ли решение с awk?
У любого из var2 или var1 есть ':' в них? Имеет ли var2 какие-либо метасимволы регулярного выражения? –
у них нет:, вот почему я выбираю:. Но они содержат пробелы. Это может быть проблема? – user65187
№ Пространства не должны быть проблемой. Но любые '' '', '+', '^', '$', '.' и т. Д. Могут вызвать проблемы в' var2'. –