Donc, si vous souhaitez utiliser la sortie de lscomme entrée pour deux grepprogrammes différents , enregistrer la sortie de chacun grepdans des fichiers différents et diriger tous les résultats less, essayez:
ls -A | tee >(grep ^[.]> hidden-files)>(grep -v ^[.]> normal-files)| less
Les résultats de la ls -Aseront «canalisés» dans les deux grepart. Le fichier hidden-filesaura le contenu de la sortie du premier grep, et normal-filesaura les résultats du second grep. Tous les fichiers seront affichés dans le pager less.EDIT : ce que vous voyez lessest la même sortie exacte de ls -A, pas le résultat du greps. Si vous souhaitez modifier la sortie de ls -Aà less(par exemple, permuter l'ordre afin que les fichiers normaux soient répertoriés avant ceux masqués), essayez ceci:
ls -A | tee >(grep ^[.])>(grep -v ^[.])>/dev/null | less
Sans >/dev/null, la sortie de greps serait ajoutée à la sortie de ls -Aau lieu de la remplacer.
Cela enverra la sortie de la commande grep à la fois au terminal et à wc (dont la sortie est à son tour redirigée vers le fichier grepresult).
"Tee" est expliqué dans l'article de Wikipedia tee (commande) . Central est: "La commande tee lit l'entrée standard, puis écrit son contenu sur la sortie standard et le copie simultanément dans le ou les fichiers ou variables spécifiés.".
Réponses:
Il semble que la
tee
commande fera ce que vous voulez.La clé est d'utiliser
pour la substitution de processus . Avec
tee
, utilisez le modèle suivant:Donc, si vous souhaitez utiliser la sortie de
ls
comme entrée pour deuxgrep
programmes différents , enregistrer la sortie de chacungrep
dans des fichiers différents et diriger tous les résultatsless
, essayez:Les résultats de la
ls -A
seront «canalisés» dans les deuxgrep
art. Le fichierhidden-files
aura le contenu de la sortie du premiergrep
, etnormal-files
aura les résultats du secondgrep
.Tous les fichiers seront affichés dans le pagerEDIT : ce que vous voyezless
.less
est la même sortie exacte dels -A
, pas le résultat dugrep
s. Si vous souhaitez modifier la sortie dels -A
àless
(par exemple, permuter l'ordre afin que les fichiers normaux soient répertoriés avant ceux masqués), essayez ceci:Sans
>/dev/null
, la sortie degrep
s serait ajoutée à la sortie dels -A
au lieu de la remplacer.la source
la source
Utilisez "tee".
Exemple:
Cela enverra la sortie de la commande grep à la fois au terminal et à wc (dont la sortie est à son tour redirigée vers le fichier grepresult).
"Tee" est expliqué dans l'article de Wikipedia tee (commande) . Central est: "La commande tee lit l'entrée standard, puis écrit son contenu sur la sortie standard et le copie simultanément dans le ou les fichiers ou variables spécifiés.".
la source