ไปป์และดู piped output หรือไม่


1

ฉันต้องการสร้างเชลล์ไพพ์เช่นนี้:

producer | analyser > report.txt

และดูผลลัพธ์producerในขณะที่กำลังสร้างข้อมูล (ไฟล์บันทึกขนาดใหญ่) สำหรับการวิเคราะห์

ฉันจะทำสิ่งนั้นได้อย่างไร

คำตอบ:


4

ใน/bin/shและเข้ากันได้:

producer | tee /dev/fd/3 | (analyser > report.txt) 3>&1

ฉันทดสอบสิ่งนี้เฉพาะบน Linux และ Cygwin ใน Unix-like คุณอาจต้องเปลี่ยน/dev/fd/3เป็นสิ่งที่เทียบเท่าของพวกเขา


ที่จะแสดงและบันทึกผลลัพธ์ของตัววิเคราะห์ใช่ไหม ฉันต้องการที่จะเห็นผลลัพธ์ของผู้ผลิต
Bastl

ขอโทษ - ดีกว่าตอนนี้?
reinierpost

นั่นจะบันทึกผลลัพธ์ของผู้ผลิตไปที่ report.txt และฉันต้องดูมันโดยใช้ "tail -F" ไม่ว่าสิ่งที่ฉันต้องการ ...
Bastl

แก้ไขอีกครั้ง ฉันควรเรียนรู้ที่จะอ่านสิ่งต่าง ๆ ก่อนที่จะตอบกลับ
reinierpost

บน Ubuntu ฉันต้องใช้ / dev / fd / 2 เพื่อ stdout ขอบคุณ!
Bastl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.