Sopprimere find & amp; grep & # 8220; impossibile aprire & # 8221; produzione
Domanda
Mi è stata data questa sintassi dell'utente phi
find . | awk '!/((\.jpeg)|(\.jpg)|(\.png))$/ {print grep: can't open ./cisc/.xdbhist
find: cannot open ./cisc/.ssh
;}' | xargs grep "B206"
Vorrei sopprimere l'output di grep: impossibile aprire ..... e trovare: impossibile aprire le righe dai risultati.
output del campione da ignorare:
Soluzione
Hai provato a reindirizzare stderr su / dev / null?
2>/dev/null
Quindi il sopra reindirizza il flusso n. 2 (che è stderr) su / dev / null. Dipende dalla shell, ma quanto sopra dovrebbe funzionare per la maggior parte. Poiché find e grep sono processi diversi, potresti doverlo fare per entrambi, o (forse) eseguirli in una subshell. per es.
find ... 2>/dev/null | xargs grep ... 2>/dev/null
Ecco un riferimento ad alcuni documenti sul reindirizzamento bash. A meno che tu non stia usando csh, questo dovrebbe funzionare per la maggior parte.
Altri suggerimenti
L'opzione flag grep -s sopprimerà questi messaggi per il comando grep