2010-09-29 3 views
0

Considérons cet exemple chaîne:Vérifier stdout à partir du milieu des applications enchaînées

cat foo.txt | grep -v foo | grep -v bar | grep -v baz 

J'aimerais inspecter le contenu StdOut du second grep ainsi que le stdout résultant:

cat foo.txt | grep -v foo | grep -v bar | UNKNOWN | grep -v baz 

J'ai donc besoin d'un outil, INCONNU, qui par exemple déverse le contenu de stdout dans un fichier et passe également stdout le long de la chaîne.

L'outil INCONNU existe-t-il (les réponses Windows et Linux sont-elles pertinentes)?

Répondre

1

Je pense qu'il y a un truc 'té' qui vous donne ça.

Mise à jour reflétant le commentaire de Bob: cat foo.txt | grep -v foo | grep -v barre | tee -a inspection.txt | grep -v baz

+2

cat foo.txt | grep -v foo | grep -v barre | tee -a inspection.txt | grep -v baz –

0

Impossible de tenter le coup, mais comme l'ont fait remarquer Gabriel et Bob, la commande $ tee (man tee) vous aidera. La commande tee prendra l'entrée et l'enverra à stdout, ainsi que les fichiers. Comme Bob a dit dans son commentaire:

cat foo.txt | grep -v foo | grep -v bar | tee -a inspection.txt | grep -v baz 

Prendront la sortie de grep -v bar et de le mettre à stdout, ainsi que inspection.txt. L'indicateur -a l'amène à ajouter à l'inspection plutôt que de créer un nouveau fichier entier.

Questions connexes