В GNU СЭД (и почти все другие дистрибутивы я знаю):отключить убегающую функцию обратной косой черты в SED
SET VAR=C:\nyc
sed "s/PATH/%VAR%/g" file.txt
вызывает любое вхождение переменной PATH должен быть заменен на новую строку, затем «Ус» , В моем случае VAR всегда является предоставленным пользователем литералом (это путь к Windows). Как отключить интерпретацию по умолчанию «\»? (Я знаю о писак, как сохранение УАК в файле и заменить все «\» с «\\» в УАК, а затем передавая его в СЭД)
Почему бы не заменить все обратные косые черты двойной обратной косой чертой? – captcha
Да, это вполне возможно. Проблема в том, что у меня есть много таких переменных, которые также используются в командах «копировать», поэтому мне нужно будет ввести временные параметры для каждого и того, что уродливо. Мне просто нравится знать, возможно ли это в одной команде sed. – PoP
Вопрос выглядит как windows/shell, так как в оболочке, о которой я знаю, будет% VAR% быть расширена, а расширение «$ VAR» приведет к тому, что 'sed' будет игнорировать« C: nyc », а не новую строку. –