Tampilkan \ n karakter sebagai baris baru saat menggunakan ekor?


17

Saya punya file yang saya coba baca dengan menggunakan tail -f. Saya bertanya-tanya apakah ada cara untuk memiliki terminal output jeda baris sebenarnya daripada karakter \ n.


1
Sebagai aturan, tail -f akan menampilkan jeda baris sebagai jeda baris. Anda mungkin memiliki masalah dengan pengaturan konsol Anda, jika itu yang Anda lihat.
Jon Lasser

1
Atau dia mengekor file yang sebenarnya memiliki literal \ n di dalamnya. Mungkin jeda baris dikonversi menjadi "\ n" literal sebelum ditulis ke file.
Josh

Jawaban:


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

2
Saya ingin menambahkan bahwa saya perlu benar-benar secara fisik memasukkan jeda baris dalam perintah sed saya setelah back-slash untuk membuat pekerjaan ini, seperti:~$ tail -f /var/log/apache2/error_log | sed 's/\\n/\ > /g'
Jon z

Adakah yang tahu cara mencapai hal yang sama untuk multitail? Inilah pertanyaan: unix.stackexchange.com/questions/239774/…
lampiran

Saya tidak bisa
membuatnya

1
@Kdansky: Anda tidak menunjukkan bagaimana Anda mendefinisikan alias atau masalah apa yang Anda alami sehingga saya hanya bisa menebak. Satu masalah yang mungkin Anda alami adalah dengan mengutip. Sebuah garis miring terbalik ekstra dapat membantu: alias forward="tail -f file | sed 's/\\\n/\n/g'". Jika Anda ingin dapat menentukan nama file sebagai argumen, Anda harus menggunakan fungsi alih-alih alias:forward () { tail -f "$@" | sed 's/\\n/\n/g'; }
Dijeda hingga pemberitahuan lebih lanjut.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.