Недавно я обнаружил пакет 'moreutils' в Debian (и Ubuntu) . Это коллекция удобных инструментов Unix.
Одна из команд - «Пи». Страница руководства говорит:
моча, как чай, но для труб.
Однако это короткая справочная страница, я подал ошибку об этом . Кто-нибудь знает, что он делает, как его использовать, зачем его использовать?
stdin
и приведения клонов к каждому сценарию, объединяющему шаблон имени файла, может ли это сделать чистый bash? AFAIU это расширило бы звездочку внутри скобок, что-то вродеtee >(app1 app2 app3 app4)
этого не>(app1) >(app2) >(app3) >(app4)
то, что показывает ваш ответtee >/dev/null
чтобы избежать репликации stdin в stdoutcat file | pee 'grep this' 'grep that' > lines.with.this.or.that.txt
... используя tee, вы просто получите копиюfile
на stdout.>(command)
функция называется процессом замены .Это, вероятно, легче понять, если вы использовали в
tee
первую очередь. Этот полезный старый инструмент принимает стандартный ввод и записывает в несколько файлов, плюс стандартный вывод. Последующий:Создаст два файла с именем
one
иtwo
, оба, содержащие строкуHello world
. Он также будет распечатан на ваш терминал.Теперь
pee
выполняет аналогичную функцию, но вместо перенаправления вывода на несколько файлов он перенаправляет на несколько вторичных команд, а именно конвейеры. Он немного отличается отtee
того, что он не отправляет исходный stdin на stdout, потому что не имеет смысла объединять его с выводом вторичных команд. Следующий очень простой пример:Выводит строку
Hello world
на ваш терминал дважды. Это потому, что каждый из двух экземпляровcat
получает стандартный вывод и выполняет тоcat
, что делает, то есть печать.источник