Có một vài tài liệu tham khảo khác nhau về 'đầu vào' ở đây, vì vậy tôi sẽ đưa ra một vài tình huống với sự hiểu biết về nó trước tiên. Để trả lời nhanh cho câu hỏi của bạn ở dạng ngắn nhất :
stat testfile < <($1)> outputfile
Ở trên sẽ thực hiện một chỉ số trên testfile, lấy (chuyển hướng) nó STDOUT và đưa nó vào hàm đặc biệt tiếp theo (phần <()) sau đó đưa ra kết quả cuối cùng của bất cứ thứ gì, vào một tệp mới (tệp đầu ra). Tệp được gọi, sau đó được tham chiếu với bash dựng sẵn ($ 1 mỗi lần sau đó, cho đến khi bạn bắt đầu một bộ hướng dẫn mới).
Câu hỏi của bạn rất hay, và có một số câu trả lời và cách để làm điều này, nhưng nó thực sự thay đổi với những gì bạn đang làm cụ thể.
Chẳng hạn, bạn cũng có thể lặp lại, điều này khá tiện dụng. Một cách sử dụng phổ biến của điều này là, trong tư duy mã psuedo, là:
run program < <($output_from_program)> my_own.log
Đưa nó vào và mở rộng kiến thức đó cho phép bạn tạo ra những thứ như:
ls -A; (while read line; do printf "\e[1;31mFound a file\e[0m: $line\n"; done) < <(/bin/grep thatword * | /usr/bin/tee -a files_that_matched_thatword)
Điều này sẽ thực hiện một ls -A đơn giản trên thư mục hiện tại của bạn, sau đó cho biết trong khi lặp qua từng kết quả từ ls -A đến (và đây là nơi khó khăn!) Grep "từ đó" trong mỗi kết quả đó và chỉ thực hiện trước đó printf (màu đỏ) nếu nó thực sự tìm thấy một tập tin có "thatword" trong đó. Nó cũng sẽ ghi lại kết quả của grep vào một tệp văn bản mới, files_that_matched_thatword.
Ví dụ đầu ra:
ls -A; (while read line; do printf "\e[1;31mFound a file\e[0m: $line\n"; done) < <(/bin/grep thatword * | /usr/bin/tee -a files_that_matched_thatword)
index.html
Tất cả điều đó chỉ đơn giản là in kết quả ls -A, không có gì đặc biệt. Thêm một cái gì đó cho nó để grep lần này:
echo "thatword" >> newfile
Bây giờ chạy lại nó:
ls -A; (while read line; do printf "\e[1;31mFound a file\e[0m: $line\n"; done) < <(/bin/grep thatword * | /usr/bin/tee -a files_that_matched_thatword)
files_that_matched_thatword index.html newfile
Found a file: newfile:thatword
Mặc dù có lẽ là một câu trả lời mệt mỏi hơn bạn đang tìm kiếm hiện tại, tôi tin rằng việc lưu giữ những ghi chú tiện dụng như thế này sẽ giúp ích cho bạn nhiều hơn trong những nỗ lực trong tương lai.
<
(đầu vào từ tệp ở bên trái) hoặc|
(đầu vào từ luồng sang bên phải). Có một sự khác biệt.