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:

<*>
È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top