¿Mostrar \ n caracteres como líneas nuevas cuando se usa la cola?

17

Tengo un archivo que estoy tratando de leer usando tail -f. Me preguntaba si había una manera de que el terminal produjera un salto de línea real en lugar del carácter \ n.

GSto
fuente
1
Como regla, tail -f mostrará saltos de línea como saltos de línea. Es posible que tenga un problema con la configuración de su consola, si eso es lo que está viendo.
Jon Lasser
1
O está siguiendo un archivo que en realidad tiene un \ n literal. Tal vez los saltos de línea se convirtieron en un literal "\ n" antes de escribirse en un archivo.
Josh

Respuestas:

25
tail -f file | sed 's/\\n/\n/g'
Pausado hasta nuevo aviso.
fuente
2
Me gustaría agregar que descubrí que necesitaba ingresar físicamente un salto de línea en mi comando sed después de la barra diagonal inversa para que esto funcione, así:~$ tail -f /var/log/apache2/error_log | sed 's/\\n/\ > /g'
Jon z
¿Alguien sabe de una manera de lograr lo mismo para multitail? Aquí hay una pregunta: unix.stackexchange.com/questions/239774/…
fraxture
No puedo hacer que eso funcione como un alias en mi .bashrc
Kdansky
1
@Kdansky: No mostraste cómo definiste el alias o qué tipo de problema tienes, así que solo puedo adivinar. Un problema que puede tener es con las citas. Una barra inversa extra puede ayudar a: alias forward="tail -f file | sed 's/\\\n/\n/g'". Si desea poder especificar el nombre de archivo como argumento, debe usar una función en lugar de un alias:forward () { tail -f "$@" | sed 's/\\n/\n/g'; }
pausa hasta nuevo aviso.
0
tail -1 file | awk '{gsub(/\\n/,"")}1'
usuario37841
fuente