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

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

line1 line2 line3 

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

  • Заменить значения на основе соответствия переменной ID
  • удалите все дубликаты из текстового файла без сортировки
  • Умножьте столбец с помощью awk
  • Замена текста между двумя конкретными строками
  • удалить TAG / TAA / TGA
  • Переформатирование Apache RewriteRule
  • Заменить текст между скобками
  • Найти первое появление каждого из этих шаблонов с помощью 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' 
    Linux и Unix - лучшая ОС в мире.