এটি সম্ভবত একটি বাফারিংয়ের সমস্যা। পাইপ ব্যবহার করার সময় অটো-বাফারিং অক্ষম করার জন্য এই এসও পোস্টটি দেখুন । আপনি এই unbufferআদেশটি ব্যবহার করতে পারেন expect:
$ unbuffer tail -f log.txt | egrep 'WARN|ERROR' | tee filtered_output.txt
সম্পাদনা : যেহেতু আপনার দীর্ঘ পাইপলাইন রয়েছে, আপনার সম্ভবত প্রতিটি কমান্ড (শেষ ব্যতীত) আনফফার করা দরকার:
$ unbuffer tail -f log.txt | unbuffer egrep 'WARN|ERROR' | tee filtered_output.txt
সম্পাদনা 2 : সোর্স প্যাকেজ unbufferথেকে সাইগউইনে উপলভ্য রয়েছেexpect (উদাহরণস্বরূপ প্রত্যাশা -20030128-1-src.tar.bz2 , expect/examplesফোল্ডারে পাওয়া যায় ) তবে এটি একটি খুব স্বল্প স্ক্রিপ্ট। আপনার যদি expectপ্যাকেজটি ইতিমধ্যে ইনস্টল করা থাকে তবে কেবল unbufferএটি আপনার /usr/local/binডিরেক্টরিতে ডাকা স্ক্রিপ্টে রেখে দিন :
#!/usr/bin/expect --
# Description: unbuffer stdout of a program
# Author: Don Libes, NIST
eval spawn -noecho $argv
set timeout -1
expect
ডেবিয়ানে, unbufferকমান্ডটি expect-devপ্যাকেজে সরবরাহ করা হয় এবং এটি ইনস্টল করা হয় expect_unbuffer।