Ответ 1
Утилиты Unix обычно ориентированы на файлы, поэтому ничего не делает то, что вы хотите.
Однако zsh может автосоздавать временные файлы со следующим синтаксисом:
diff =(cmd1) =(cmd2)
Он также может создавать временные именованные каналы (или использовать специальные файлы /dev/fdn
для ссылки на анонимные каналы) с помощью
diff <(cmd1) <(cmd2)
Однако многие diff
вызывают lseek()
на их входе, поэтому не будут работать с именованными каналами.
(diff
, как правило, более полезная команда для сравнения очень похожего вывода, чем ваш конвейер выше.)
Более подробную информацию см. в разделе "Замена процесса" на странице руководства "zshexpn".