Тут є кілька різних посилань на "введення", тому я наведу кілька сценаріїв, розуміючи це спочатку. Для вашої швидкої відповіді на питання в найкоротшій формі :
stat testfile < <($1)> outputfile
Вищезгадане виконає статистику на тестовому файлі, візьме (перенаправить) його STDOUT і включить його до наступної спеціальної функції (частина <() частини, а потім виведе кінцеві результати будь-якого, у новий файл (вихідний файл). Викликається файл, потім посилається на вбудовані файли bash ($ 1 кожен раз після, поки ви не розпочнете новий набір інструкцій).
Ваше запитання чудове, і є кілька відповідей і способів цього зробити, але це дійсно змінюється тим, що ви робите конкретно.
Наприклад, ви також можете це зробити циклічно, що досить зручно. Поширене використання цього способу в умовному режимі psuedo-коду:
run program < <($output_from_program)> my_own.log
Враховуючи це та розширюючи ці знання, ви можете створювати такі речі, як:
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)
Це виконає простий ls -A у вашому поточному каталозі, а потім підкажіть, щоб переглядати кожен результат від ls -A до (а ось де це хитро!) Проклеїти "це слово" у кожному з цих результатів і виконувати лише попередній printf (червоним кольором), якщо він насправді знайшов файл із цим словом. Він також запише результати grep в новий текстовий файл, file_that_matched_thatword.
Приклад виводу:
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
Все це просто надрукувало результат ls - нічого особливого. Цього разу додайте щось для того, щоб перехреститися:
echo "thatword" >> newfile
Тепер перезапустіть його:
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
Хоча, можливо, більш виснажлива відповідь, ніж ви шукаєте в даний час, я вважаю, що зберігання зручних записок, як це навколо, принесе вам більше користі в майбутніх починаннях.
<
(введення з файлу вліво) або|
(введення з потоку в праву сторону). Є різниця.