Как оценить специальные символы, чтобы увидеть их в текстовом редакторе?

Предположим, у меня есть текст «line1 \ n \ nline2 \ nline3», и я хочу увидеть его в консоли или передать его в текстовый редактор, чтобы он выглядел

line1 line2 line3 

Поэтому были оценены специальные символы. Могу ли я сделать это без замены регулярных выражений?

  • Извлечение почтовых адресов
  • Замените текстовый файл столбца i с добавочными номерами
  • Как добавить слова в существующий столбец
  • Необходимо отфильтровать данные на основе двух столбцов, имеющих много отношений, используя awk
  • Awk Search - комбинированные классы символов в одной строке
  • В awk, как печатать диапазон полей с исходными разделителями $ 0 неповрежденными?
  • Команда Git для удаления нескольких удаленных строк из коммитов, которые изначально добавили их
  • строка grep, где следующая строка не содержит строки
  • 2 Solutions collect form web for “Как оценить специальные символы, чтобы увидеть их в текстовом редакторе?”

    Используйте встроенное эхо:

     $ echo -e "line1\n\nline2\nline3" line1 line2 line3 

    Bash имеет встроенный printf с поддержкой %b для расширения обратных косых черт, а для %q для форматирования строки, поэтому ее можно использовать в командах оболочки без кавычек (т. Е. Избегать всех символов, которые оболочки обычно обрабатывают специально с помощью обратных косых черт) ,

    Другими словами, в Bash вы можете использовать

     printf '%b\n' 'line1\n\nline2\nline3' 

    получить

     line1 line2 line3 

    Если вы не хотите, чтобы строка новой строки соответствовала printf '%b' 'line1\n\nline2\nline3' вместо этого используйте printf '%b' 'line1\n\nline2\nline3' .

    Обратное ( %q ) также полезно,

     printf '%q' '(foo $bar baz]' 

    Выведение

     \(foo\ \$bar\ baz\] 

    Если у вас есть переменная Bash, содержащая строку с обратными косыми чертами, например

     myvar='line1\n\nline2\nline3' 

    вы можете развернуть escape-последовательности, используя

     mytext=$(printf '%b' "$myvar") 

    Если вы просто хотите указать литеральную строку с escape-последовательностями, используйте $'' :

     mytext=$'line1\n\nline2\nline3' 
    Interesting Posts

    Как создать постоянный псевдоним ip, принадлежащий разным подсетям в Centos

    Как слить весь файл в другую папку в один файл и добавить новую строку

    Sed для копирования части имени файла в другое содержимое файла с той же подстрокой

    Скрипт внутри оболочки bash, который находится внутри другой оболочки bash

    Почему ssh подумает, что есть кодовая фраза?

    Как передать параметр sed?

    Правильный способ распространения сценариев оболочки

    Как преобразовать необработанные команды принтера в файл postscript или pdf?

    Есть ли способ показать разрешения для файла без использования `ls`

    Слова Grep в файле затем скопируйте файл

    Как восстановить /etc/apt/trustdb.gpg на Debian?

    Что обозначают p и e в семействе вызовов exec?

    Перенос с одного Linux на другой: как сохранить второй диск?

    Как настроить два хоста Linux, подключенных через кроссовый кабель USB 3.0, и действовать так, как если бы это было устройство

    Как получить PPID с «ps aux» в AIX?

    Linux и Unix - лучшая ОС в мире.