Câu trả lời:
Đối với câu hỏi tiêu đề của bạn: Không. Lấy stdin
từ nội dung tệp ( chuyển hướng đầu vào ) không giống như chuyển đầu ra của một chương trình sang đầu vào của chương trình khác.
Nhưng, vì cat
thực tế bạn chỉ in nội dung của một tệp, kết quả thực sự giống nhau trong ví dụ đó.
Nhưng ngay cả những điều sau đây cũng cho kết quả rất khác nhau:
$ cat * | sort
$ sort < *
Nếu có nhiều hơn một tệp phù hợp, tệp sau sẽ tạo ra
-bash: *: ambiguous redirect
vì nó không linh hoạt như trước đây, nó sẽ tạo ra tất cả các tệp phù hợp và chuyển chúng thành đầu vào sort
.
sort < txtfile
hiệu quả hơn nhiều so với cat txtfile | sort
?
sort *
? Không sử dụng con mèo vô dụng, không sử dụng vô định, gõ ngắn nhất, dễ nghĩ nhất và tôi tin rằng GNU sort sẽ xử lý bạn để tối ưu hóa khả năng mở rộng cho các tệp rất lớn (không chắc chắn về điều đó - một nửa nhớ một cái gì đó ở đó)