Є деякі команди, які фільтрують або діють на вхід, а потім передають їх як вихід, але я думаю, що зазвичай stdout
- але деякі команди просто приймуть stdin
і робити все, що з ним робити, і нічого не вивести.
Я найбільше знайомий з ОС X, і тому є дві, які відразу ж приходять до тями, pbcopy
і це pbpaste
- засоби доступу до буфера обміну системи.
Так чи інакше, я знаю, що якщо я хочу взяти stdout і плюнути на вихід, щоб перейти до обох stdout
і файлів, то я можу використовувати tee
команду. І я трохи знаю про це xargs
, але не думаю, що це те, що я шукаю.
Я хочу знати, як я можу розділитись stdout
між двома (або більше) командами. Наприклад:
cat file.txt | stdout-split -c1 pbcopy -c2 grep -i errors
Мабуть, є кращий приклад, ніж цей, але мені дуже цікаво знати, як я можу надіслати stdout до команди, яка не ретранслює його, і при цьому stdout
не перешкоджає "приглушенню" - я не запитую про те, cat
як файл і grep
частину його та скопіюйте у буфер обміну - конкретні команди не так важливі.
Крім того - я не запитую, як надіслати це у файл і stdout
- це може бути "дублікат" питання (вибачте), але я щось шукав і міг знайти лише подібні, які запитували про те, як розділити між stdout і файлом - і, здається, відповіді на ці запитання tee
, які, на мою думку, не спрацюють для мене.
Нарешті, ви можете запитати "чому б просто не зробити pbcopy останньою справою в ланцюзі труб?" і моя відповідь 1) що робити, якщо я хочу його використовувати і все ще бачу вихід на консолі? 2) що робити, якщо я хочу використовувати дві команди, які не виводяться stdout
після того, як вони обробляють вхід?
О, і ще одне - я усвідомлюю, що міг би використати tee
і названу трубу ( mkfifo
), але сподівався на спосіб, як це можна зробити в прямому порядку, стисло, без попереднього налаштування :)