Aquí hay algunas referencias diferentes a 'entrada', por lo que daré algunos escenarios teniendo en cuenta primero. Para su respuesta rápida a la pregunta en forma más corta :
stat testfile < <($1)> outputfile
Lo anterior realizará una estadística en el archivo de prueba, tomará (redirigirá) su STDOUT e incluirá eso en la siguiente función especial (la parte <()) y luego generará los resultados finales de lo que sea, en un nuevo archivo (archivo de salida). Se llama al archivo, luego se hace referencia a él con bash incorporado ($ 1 cada vez, hasta que comience un nuevo conjunto de instrucciones).
Su pregunta es excelente, y hay varias respuestas y formas de hacerlo, pero de hecho cambia con lo que está haciendo específicamente.
Por ejemplo, también puedes repetir eso, lo cual es bastante útil. Un uso común de esto es, en la mentalidad de código psuedo, es:
run program < <($output_from_program)> my_own.log
Tomar eso y expandir ese conocimiento le permite crear cosas como:
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)
Esto realizará un simple ls -A en su directorio actual, luego le dirá al tiempo que recorra cada resultado desde el ls -A a (¡y aquí es difícil!) Grep "esa palabra" en cada uno de esos resultados, y solo realice el anterior printf (en rojo) si realmente encontró un archivo con "esa palabra" en él. También registrará los resultados del grep en un nuevo archivo de texto, files_that_matched_thatword.
Salida de ejemplo:
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
Todo eso simplemente imprimió el resultado ls -A, nada especial. Agregue algo para que grep esta vez:
echo "thatword" >> newfile
Ahora vuelva a ejecutarlo:
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
Aunque tal vez sea una respuesta más agotadora de la que está buscando en la actualidad, creo que mantener notas útiles como esta le beneficiará mucho más en futuros esfuerzos.
<(entrada del archivo al lado izquierdo) o|(entrada del flujo al lado derecho). Hay una diferencia