Я пишу скрипт, который изменяет пути в файле. Это то, что я хочу сделать. Если у меня есть файл с строкой «/ path/to/wrong/location», я хочу изменить его на «/ path/to/correct/location». Я попытался с помощью СЭД, чтобы сделать это, делая это ...sed: Использование переменной в sed
sed -i "s/$badpath/$goodpath/g" file
Делая это, хотя, абсолютно ничего не делает, и я не могу за жизнь мне понять это. Мне нужно использовать переменную для плохого пути, но хороший путь можно выписать (так как этот никогда не изменяется). Как это сделать?
Дополнительная информация:
Я использую GNU СЭД, поэтому -i
флаг действителен.
Do $ BADPATH или $ goodpath есть/в них? Это испортит команду s. Я предлагаю использовать разные разделители. – walrii
Обычно я фиксировал переменные, чтобы добавить \ перед любым/("/" -> "\ /"). К сожалению, это не помогает. – markzz
попробуйте распечатать vars, чтобы посмотреть, как ваша подстановка с '\' to '\ /' работает – HuStmpHrrr