Ini mungkin masalah buffering. Lihat posting SO ini tentang menonaktifkan buffer otomatis saat menggunakan pipa . Anda dapat menggunakan unbufferperintah dari expect:
$ unbuffer tail -f log.txt | egrep 'WARN|ERROR' | tee filtered_output.txt
Sunting : Karena Anda memiliki saluran pipa yang lebih panjang, Anda mungkin perlu membatalkan pembuatan setiap perintah (kecuali yang terakhir):
$ unbuffer tail -f log.txt | unbuffer egrep 'WARN|ERROR' | tee filtered_output.txt
Sunting 2 : unbuffertersedia di Cygwin dari expectpaket sumber (mis. Harapkan-20030128-1-src.tar.bz2 , ditemukan di expect/examplesfolder), tetapi ini skrip yang sangat pendek. Jika Anda expectsudah menginstal paket, cukup masukkan ini ke dalam skrip bernama unbufferdi /usr/local/bindirektori Anda :
#!/usr/bin/expect --
# Description: unbuffer stdout of a program
# Author: Don Libes, NIST
eval spawn -noecho $argv
set timeout -1
expect
Pada Debian, unbufferperintah disediakan dalam expect-devpaket dan diinstal sebagai expect_unbuffer.