Exibir \ n caracteres como novas linhas ao usar cauda?


17

Eu tenho um arquivo que estou tentando ler usando tail -f. Eu queria saber se havia uma maneira de fazer com que o terminal produza uma quebra de linha real em vez do caractere \ n.


1
Como regra, tail -f exibirá quebras de linha como quebras de linha. Você pode ter um problema com as configurações do console, se é isso que está vendo.
precisa

1
Ou ele está seguindo um arquivo que realmente tem um \ n literal. Talvez as quebras de linha tenham sido convertidas em um "\ n" literal antes de serem gravadas em um arquivo.
Josh

Respostas:


25
tail -f file | sed 's/\\n/\n/g'

2
Gostaria de acrescentar que eu descobri que eu precisava para realmente entrar fisicamente uma quebra de linha no meu comando sed após o back-corte, a fim de fazer este trabalho, assim:~$ tail -f /var/log/apache2/error_log | sed 's/\\n/\ > /g'
Jon z

Alguém sabe como conseguir a mesma coisa para multitail? Aqui está uma pergunta: unix.stackexchange.com/questions/239774/…
fraxture 30/10/2015

Eu não posso chegar a esse trabalho como um alias no meu .bashrc
Kdansky

1
@ Kdansky: Você não mostrou como definiu o alias ou que tipo de problema está enfrentando, para que eu possa adivinhar. Um problema que você pode estar enfrentando é citar. Uma barra extra pode ajudar: alias forward="tail -f file | sed 's/\\\n/\n/g'". Se você deseja especificar o nome do arquivo como argumento, use uma função em vez de um alias:forward () { tail -f "$@" | sed 's/\\n/\n/g'; }
Pausado até novo aviso.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.