Saya mencoba mengekor dua file menggunakan opsi:
tail -0f file1.log -0f file2.log
Di Linux saya melihat kesalahan "tail: hanya dapat memproses satu file pada suatu waktu".
Di AIX saya melihat kesalahan sebagai "Opsi tidak valid".
Ini berfungsi dengan baik ketika saya menggunakan:
tail -f file1 -f file 2
di Linux tetapi tidak di AIX.
Saya ingin dapat mengekor banyak file menggunakan -0f
atau -f
di AIX / Linux
multitail
tidak dikenali dalam salah satu OS ini.
screen
untuk membuat dua sesi yang berbeda? Anda harus dapat menggunakan ekor di kedua layar? Juga,tmux
dapat melakukan pekerjaan dengan baik jika Anda telah menginstalnya.Jawaban:
Bagaimana dengan:
Atau awali setiap baris dengan nama file:
Untuk mengikuti semua file yang namanya cocok dengan suatu pola, Anda dapat mengimplementasikan
tail -f
(yang membaca dari file setiap detik terus menerus) denganzsh
skrip seperti:Kemudian misalnya, untuk mengikuti semua file teks dalam direktori saat ini secara rekursif:
sumber
sed
jalan dari pada&
jalan?tail
banyak file diperpanjang oleh versi ekor GNU. Dengan AIX, Anda tidak memiliki ekor GNU, jadi Anda tidak bisa melakukannya. Anda bisa menggunakannyamultitail
.Anda dapat menginstal multitail di Linux dan AIX.
Dengan AIX, Anda dapat mengunduh paket di sini .
Di Linux,
multitail
sering kali dalam repo, sehingga Anda dapat menginstalnya dengan mudah menggunakan manajer paket distro:apt-get install multitail
yum install multitail
sumber
multitail -i path/to/file1 -i path/to/file2
Hal berikut berfungsi dengan baik untuk menampilkan hal-hal di std out
Saya ingin
pipe
output ke proses lain. Dalam kasus di atas&
adalah membuat bagian sebelum berjalan di latar belakang dan hanya bagian kedua sedangpiped
diprosesjadi saya menggunakan
@ Stéphane jawaban Anda sempurna, tetapi hanya menyebutkan use case saya yang memiliki sedikit twist.
sumber
tail -f file1 file2
tidak bekerja pada AIX di mana tail hanya menerima satu nama file. Anda dapat melakukannya(tail -f file1 & tail -f file2) | process
untuk mengarahkan stdout keduanyatail
ke pipaprocess
.Di OSX dan Linux, menggunakan
bekerja bagus untukku. Hal yang menyenangkan lainnya adalah memiliki keluaran sebagai berikut:
untuk membantu Anda mengenali output mana dari log mana.
sumber
q
untuk menekan tajukSaya akan memberikan potongan kode
tmux
yang dapat memberi Anda dua jendela berbeda yang dapat Anda gunakan untuk mengekor kedua file secara bersamaan:UPDATE: Menggunakan
screen
juga dapat melampirkan / melepaskan beberapa sesi sehingga Anda dapat menjalankantail
beberapa kali juga. Saya dapat menyarankan melakukan ini:screen -s Tail_Server1.log
Berikutnya Anda ingin menahan
CTRL+A+D
untuk melepaskan tanpa membunuh sesi dan kemudian berikutnya:Keduanya akan menjalankan dua terpisah
screens
, saya akan merujukscreen --help
sehingga Anda dapat menyesuaikannya dengan bagaimana Anda ingin kedua layar berfungsi pada Andaterminal
.sumber
Berikut ini bekerja untuk saya di SunOS 5.10.
Kedua ekor akan berjalan di latar belakang. Perubahan pada file akan dibuang ke stdout. Selain itu Anda dapat menjalankan perintah apa pun di antara hanya dengan menekan enter.
sumber
Gunakan oneliner berikut:
while true; do cat /path/to/numerous/folders/and/files/*/*.txt | grep "some filter" | tail -n 10; sleep 1; done
Setiap 1 detik, skrip akan mencetak 10 baris terakhir dari aliran yang difilter.
Untuk memutus loop, tekan CtrlC.
sumber