Ci sono alcuni comandi che filtrano o agiscono sull'input, e poi lo passano come output, penso di solito a stdout- ma alcuni comandi prenderanno semplicemente stdine faranno tutto ciò che fanno con esso, e non produrranno nulla.
Conosco molto bene OS X e quindi ce ne sono due che mi vengono subito in mente pbcopye pbpasteche sono mezzi per accedere agli Appunti di sistema.
Comunque, so che se voglio prendere stdout e sputare l'output per andare su entrambi stdoute su un file, allora posso usare il teecomando. E ne so un po ' xargs, ma non credo sia quello che sto cercando.
Voglio sapere come posso dividere stdoutper passare tra due (o più) comandi. Per esempio:
cat file.txt | stdout-split -c1 pbcopy -c2 grep -i errors
Probabilmente c'è un esempio migliore di quello, ma sono davvero interessato a sapere come posso inviare stdout a un comando che non lo inoltra e pur continuando stdouta non essere "disattivato" - non sto chiedendo come fare catun file e grepparte di esso e copiarlo negli Appunti: i comandi specifici non sono così importanti.
Inoltre - non sto chiedendo come inviarlo a un file e stdout- questa potrebbe essere una domanda "duplicata" (scusate) ma ho fatto un po 'di ricerca e ho trovato solo quelli simili che chiedevano come dividere tra stdout e un file - e le risposte a quelle domande sembravano essere tee, che non credo funzioneranno per me.
Infine, potresti chiedere "perché non rendere pbcopy l'ultima cosa nella catena di tubi?" e la mia risposta è 1) cosa succede se voglio usarlo e vedere ancora l'output nella console? 2) cosa succede se voglio usare due comandi che non vengono emessi stdoutdopo che hanno elaborato l'input?
Oh, e un'altra cosa - mi rendo conto di poter usare teee un nome pipe ( mkfifo) ma speravo in un modo che potesse essere fatto in linea, in modo conciso, senza una configurazione precedente :)