MyTetra Share
Делитесь знаниями!
Как заменить строку "\n" на настоящий символ перевода строки?
Время создания: 04.12.2020 14:52
Текстовые метки: linux, \n, символ, перевод строки, замена, sed, разбивка на строки, ansible
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/1607082749xeen3csm69/text.html на raw.github.com

Бывает так, что какая-нибудь Linux-утилита генерирует портянку стандартного вывода, в котором нет переноса строк, и вместо них видны переносы строк в виде символов "\n". Вот прям так на экран и выводятся километровые строки, в середине которых встречаются "\n". К примеру, такой выхлоп часто можно встретить у Ansible, когда передаются результаты работы скрипта на удаленной машине.


Чтобы получить человекочитаемые строки, надо заменить подстроку "\n" на настоящий символ переноса строки. Как это сделать? Если перенаправить вывод утилиты невозможно, то ничего не остается, как после того, как утилита отработает, скопировать весь выхлоп в текстовый файл, например file.txt. Затем можно воспользоваться следующей командой:



cat file.txt | sed -e 's/\\n/\n/g'



В результате будет сгенерирован "pretty print" текст, который можно удобно прочитать.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования