ใน Linux ถ้าคุณพิมพ์
sort < txtfile
เป็นสิ่งเดียวกัน
cat txtfile | sort
ใน Linux ถ้าคุณพิมพ์
sort < txtfile
เป็นสิ่งเดียวกัน
cat txtfile | sort
คำตอบ:
สำหรับคำถามเรื่องของคุณ: ไม่ได้รับstdin
จากเนื้อหาไฟล์ (การเปลี่ยนเส้นทางอินพุต ) ไม่เหมือนกับการไพพ์เอาต์พุตของโปรแกรมหนึ่งไปยังอินพุตของโปรแกรมอื่น
แต่เนื่องจากคุณcat
เพียงพิมพ์เนื้อหาของไฟล์ผลลัพธ์จะเหมือนกันในตัวอย่างนั้น
แต่ต่อไปนี้จะให้ผลลัพธ์ที่แตกต่างกันมาก:
$ cat * | sort
$ sort < *
หากมีมากกว่าหนึ่งไฟล์ที่ตรงกันไฟล์หลังจะสร้างขึ้น
-bash: *: ambiguous redirect
sort
เพราะมันเป็นเพียงไม่เป็นความยืดหยุ่นเป็นอดีตซึ่งจะจับคู่แมวไฟล์ทั้งหมดและพวกเขาเป็นท่อใส่ลงใน
sort < txtfile
มีประสิทธิภาพมากกว่าcat txtfile | sort
หรือไม่
sort *
? ไม่มีการใช้งานที่ไร้ประโยชน์ของแมวที่ไม่มีการใช้งานที่ไร้ประโยชน์ของร้าย, ที่สั้นที่สุดในการพิมพ์ที่ง่ายที่สุดที่จะคิดและผมเชื่อว่า GNU จัดเรียงจะปฏิบัติต่อคุณเพิ่มประสิทธิภาพความยืดหยุ่นสำหรับไฟล์ขนาดใหญ่มาก (ไม่แน่ใจว่าเกี่ยวกับที่ - ครึ่งสิ่งที่จดจำนั่น)