1
วิธีไพพ์เอาต์พุตของสตรีมที่แอ็คทีฟไปยังคำสั่งอื่น
ฉันกำลังพยายามไพพ์สตรีมที่แอ็คทีฟไปยังคำสั่งอื่น (อาจเป็นสคริปต์ทุบตี) แต่ก็ต้องการรอให้สตรีมทั้งหมดเสร็จสิ้นก่อนที่จะประมวลผลคำสั่ง s.g. ฉันสามารถทำสิ่งนี้: tail file.log | grep keyword | xargs -L 1 echo ... และมันจะแสดงผลแถวที่ตรงกันจาก file.log อย่างถูกต้องนำหน้าด้วย "... " เห็นได้ชัดว่าฉันไม่ต้องการเพียงแค่ก้องนั่นเป็นเพียงตัวอย่างที่ง่ายขึ้น ตอนนี้เมื่อฉันลองทำสิ่งนี้: tail -f file.log | grep keyword งานนี้ในที่เป็นผลลัพธ์แถวที่ตรงกันแล้วหยุดชั่วคราวจนกว่า file.log เปลี่ยนแปลงแล้วมันจะออกบรรทัดใหม่ที่ตรงกัน อย่างไรก็ตามถ้าฉันลองทำสิ่งนี้: tail -f file.log | grep keyword | xargs -L 1 echo ... มันไม่มีอะไรส่งออก - ฉันคิดว่ามันกำลังรอกระแสที่เปิดโดย tail -f …