Как вы можете diff два конвейера без использования временных файлов в Bash? Скажем, у вас есть два командных конвейера:
foo | bar
baz | quux
И вы хотите найти diff
в своих выводах. Одним из решений, очевидно, было бы следующее:
foo | bar > /tmp/a
baz | quux > /tmp/b
diff /tmp/a /tmp/b
Можно ли сделать это без использования временных файлов в Bash? Вы можете избавиться от одного временного файла с помощью трубопровода в одном из конвейеров для diff:
foo | bar > /tmp/a
baz | quux | diff /tmp/a -
Но вы не можете передавать оба конвейера в diff одновременно (хотя бы не очевидным образом, по крайней мере). Есть ли какой-нибудь умный трюк с участием /dev/fd
, чтобы сделать это без использования временных файлов?