Назад | Перейти на главную страницу

Как передать и отобразить результат, который обрабатывается?

Я хочу выполнить эту команду:

find /apps/ -type f -print0 | grep -z log$ | xargs -0 grep 'this->aForm'

И параллельно хотелось бы посмотреть, какие файлы обрабатываются.

Как к этому?

Есть аналогичный вопрос в переполнении стека:

https://stackoverflow.com/questions/670784/redirecting-bash-stdout-stderr-to-two-places

Идея состоит в том, чтобы использовать именованные каналы, в bash вы можете просто:

command_that_writes_to_stdout | tee >(command_that_reads_from_stdin)

Но в общем случае используйте mkfifo, например:

mkfifo some_pipe
command_that_writes_to_stdout | tee some_pipe \
  & command_that_reads_from_stdin < some_pipe
rm some_pipe

(оба примера взяты из ответа на переполнение стека)