Question

La syntaxe a été attribuée à l'utilisateur phi

find . | awk '!/((\.jpeg)|(\.jpg)|(\.png))$/ {print 
grep: can't open ./cisc/.xdbhist
find: cannot open ./cisc/.ssh
;}' | xargs grep "B206"

Je voudrais supprimer la sortie de grep: impossible d'ouvrir ..... et trouver: impossible d'ouvrir les lignes des résultats.

exemple de sortie à ignorer:

<*>
Était-ce utile?

La solution

Avez-vous essayé de rediriger stderr vers / dev / null?

2>/dev/null

Donc, la redirection ci-dessus du flux n ° 2 (qui est stderr) vers / dev / null. Cela dépend du shell, mais ce qui précède devrait fonctionner pour la plupart. Puisque find et grep sont des processus différents, vous devrez peut-être le faire pour les deux, ou (peut-être) exécuter dans un sous-shell. par exemple

find ... 2>/dev/null | xargs grep ... 2>/dev/null

Voici une référence à une documentation sur la redirection Bash. Sauf si vous utilisez csh, cela devrait fonctionner pour la plupart.

Autres conseils

L’option flag grep -s supprimera ces messages pour la commande grep

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top