Suprimir achado & grep saída “não pode abrir”
Pergunta
Foi-me dada esta sintaxe pelo usuário phi
find . | awk '!/((\.jpeg)|(\.jpg)|(\.png))$/ {print $0;}' | xargs grep "B206"
Eu gostaria de suprimir a saída do grep: não pode abrir ..... e encontrar:. Can linhas não abertos a partir dos resultados de saída de amostra
para ser ignorado:
grep: can't open ./cisc/.xdbhist
find: cannot open ./cisc/.ssh
Solução
Você já tentou redirecionar stderr para / dev / null?
2>/dev/null
Assim, os redirecionamentos acima do córrego no.2 (que é stderr) para / dev / null. Isso é desembolsar dependente, mas acima deve funcionar para a maioria. Como o find e grep são processos diferentes, você pode ter que fazer isso para ambos, ou (talvez) executar em um subnível. por exemplo.
find ... 2>/dev/null | xargs grep ... 2>/dev/null
Aqui está uma referência a alguma documentação sobre o redirecionamento de bash. A menos que você estiver usando csh, isso deve funcionar para a maioria.
Outras dicas
Os -s sinalizador de opção grep irá suprimir estas mensagens para o comando grep