На этот вопрос уже есть ответ здесь:
Я хочу добавить обратную косую черту \
напечатано между Hello
и World
в командной строке с помощью sed
. Он должен показать вывод Hello \ World
.
Что мне делать?
Если Вам назвали файл hw
содержа Hello World
, команда sed была бы:
sed 's/ / \\ /' hw
Это отображает требуемый результат на экране. Если Вы хотите отредактировать файл, добавить -i
:
sed -i 's/ / \\ /' hw
Команда заменяет пространство space\space. Вам нужно два \\
потому что \
символ ESC.
Я использовал текстовый файл, содержащий тексты Hello World
и с этой командой sed:
sed 's/Hello/Hello \\/' helloworld.txt
И вывод:
Hello \ World
Примечание: Это может использоваться также:
sed 's/World/\\ World/' helloworld.txt
Команда sed находит Hello
текст и добавляет a \
к передней стороне и это производит замеченный результат. \\
Escape \
таким образом, это рассматривается как реальное (литерал) \
не специальный символ.
Я использовал \
в конце кода как это:
sed -i -r "Hello \\ World \\" mytext.txt
Это привело к Hello \ World
, как желаемый. Но спасибо, все.