จะบันทึกผลลัพธ์ของ pipe ได้อย่างไร?
เชลล์ช่วยให้เราเปลี่ยนเส้นทางผลลัพธ์ของคำสั่งที่ต่อกันด้วย pipe ได้:
cut -d , -f 2 seasonal/*.csv | grep -v Tooth > teeth-only.txt
อย่างไรก็ตาม > ต้องอยู่ที่ท้ายสุดของ pipeline เสมอ:
ถ้าลองวางไว้กลาง pipeline แบบนี้:
cut -d , -f 2 seasonal/*.csv > teeth-only.txt | grep -v Tooth
ผลลัพธ์ทั้งหมดจาก cut จะถูกเขียนลงไฟล์ teeth-only.txt
ทำให้ไม่มีข้อมูลเหลือส่งต่อไปให้ grep
และ grep จะรอรับข้อมูลอยู่อย่างนั้นไม่สิ้นสุด
จะเกิดอะไรขึ้นถ้าวาง redirection ไว้ที่ต้นของ pipeline แบบนี้:
> result.txt head -n 3 seasonal/winter.csv
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Shell
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด