Возможно ли в unix/bash передавать данные из двух команд в другую?
Я попытался выполнить следующую команду, которая успешно выполнила обе команды, но первая была передана в stdout, а вторая - в меньшую.
$ grep 40515575 * && zgrep 40515575 * | less
Попробуйте это вместо этого:
$ ( grep 40515575 * && zgrep 40515575 * ) | less
В зависимости от системы, вы можете обнаружить, что «less» способен или распознает много разных типов файлов, таких как сжатые файлы gzip и bzip2.
Возможно, что вы действительно хотите сказать, это:
less * | grep 40515575 | less
Полезно помнить, что в этом случае начальный «less» действует как «cat», поскольку его вывод не относится к TTY.