LINUX.ORG.RU
perl -pi -e 's/\\n/\n/g' файл
perl -pi -e 's/\\t/\t/g' файл
kostik87 ★★★★★
()

А можно bash, а не sed?

$ cat test 
aaa\tbbb
123\n456

$ tail -F test | while read -r line; do echo -e $line; done
aaa	bbb
123
456
^C

Lavos ★★★★★
()

Всем спасибо!

int13h ★★★★★
() автор топика
Ответ на: комментарий от Lavos

Обратите внимание, что вы пробелы по краям строк обрезаете.

$ while read -r line; do echo -e $line; done <<< ' foo\tbar\nbaz'
foo     bar
baz

И кавычки не помогут, нет. Вот так поможет:

$ while read -r; do echo -e "$REPLY"; done <<< ' foo\tbar\nbaz'
 foo     bar
baz
Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

Кавычки помогут, если не забыть про IFS:

$ cat test 
      aaa\tbbb
123\n456

$ tail -F test | while IFS='' read -r line; do echo -e "$line"; done
      aaa	bbb
123
456
^C

Lavos ★★★★★
()

в любом распространённом ЯП для ввода «\» нужно обычно вводить «\\».

$ echo "A\nB\tC"|sed 's/\\n/\n/g;s/\\t/\t/g'
A
B	C
emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.