как мы можем использовать команду sed для записи \ n в файл? - PullRequest
0 голосов
/ 11 мая 2018

При замене строки в файле другой строкой, имеющей \ n, затем, когда она заменяется, она вводится в строку, а не записывает \ n в оболочке.

програмно

string="status=\"translated\">NIRANJAN\\nKUMAR"
sed -i 's/status="translated">/'"$string"'   /g' text.txt

в текстовых файлах - состояние = "переведено"> Исправления

вывод:

status="translated">NIRANJAN
KUMAR

но я хочу status="translated">NIRANJAN\nKUMAR

пожалуйста, предложите мне шаги. Спасибо:)

1 Ответ

0 голосов
/ 11 мая 2018

Вы уже потеряли несколько обратных слешей во время этого задания:

string="status=\"translated\">NIRANJAN\\nKUMAR"

Значение \\ будет уменьшено до одного \, поэтому в вашей команде sed вы получите \n, что приведет к новой строке (по крайней мере, в некоторых версиях sed).

Чтобы сохранить их, используйте одинарные кавычки вокруг строкового литерала:

string='status="translated">NIRANJAN\\nKUMAR'

Теперь ваша команда sed должна вести себя так, как вы ожидаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...