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