SUPPRESS finden & grep „kann nicht geöffnet werden“ -Ausgabe
Frage
Ich war gegeben diese Syntax von Benutzern phi
find . | awk '!/((\.jpeg)|(\.jpg)|(\.png))$/ {print $0;}' | xargs grep "B206"
Ich möchte die Ausgabe von grep zu unterdrücken: kann nicht geöffnet werden ..... und finden:. Nicht öffnen können Zeilen aus den Ergebnissen
Beispielausgabe werden ignoriert:
grep: can't open ./cisc/.xdbhist
find: cannot open ./cisc/.ssh
Lösung
Haben Sie versucht, stderr Umleitung auf / dev / null?
2>/dev/null
So sind die oben Umleitungen No.2 streamen (die stderr ist) auf / dev / null. Das ist Shell abhängig, aber die oben sollte für die meisten arbeiten. Da find und grep verschiedene Prozesse sind, können Sie es für beide zu tun haben, oder (vielleicht) ausführen in einer Subshell. z.
find ... 2>/dev/null | xargs grep ... 2>/dev/null
Hier einen Verweis auf einige Dokumentation auf bash Umleitung. Es sei denn, Sie csh verwenden, sollte dies für die meisten arbeiten.
Andere Tipps
Das Options-Flag grep es wird diese Nachrichten für den Befehl grep unterdrücken