<(cmd) превращает вывод команды в путь к файлу — bash создаёт /dev/fd/N, и его можно подсунуть туда, где ожидается файл, а не stdin.

diff <(ssh host1 cat /etc/hosts) <(ssh host2 cat /etc/hosts)

Без процесс-сабституции пришлось бы гонять вывод во временные файлы и чистить их после. Здесь diff получает два «файла», которые на самом деле читают из живых SSH-сессий параллельно.

>(cmd) — обратная операция: команда справа получает на вход поток, который записывается слева.

some_app 2>&1 | tee >(grep ERROR > err.log) > out.log

Весь вывод уходит в out.log, а параллельно копия летит в grep, который откладывает строки с ошибками в err.log — без второго прохода по логу.

#linux #bash #sysadmin