¿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.


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'

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.