ฉันใช้เชลล์สคริปต์ที่ท่อข้อมูลจากกระบวนการหนึ่งไปยังกระบวนการอื่น
process_a | process_b
ไม่มีใครรู้วิธีหาจำนวนไบต์ที่ถูกส่งระหว่างโปรแกรมทั้งสอง? ทางออกเดียวที่ฉันสามารถนึกได้ในขณะนี้คือการเขียนโปรแกรม c ขนาดเล็กที่อ่านจาก stdin, เขียนไปยัง stdout และนับจำนวนข้อมูลที่ถ่ายโอนทั้งหมด, จัดเก็บจำนวนในตัวแปรสภาพแวดล้อมเช่น:
process_a | count_bytes | process_b
ไม่มีใครมีวิธีแก้ปัญหา neater?
exec
และส่งออกไปยังไฟล์ได้โดยตรงหรือไม่input-command | dd 2>~/fred | output-command