Avisos e mensagens de erro são geralmente enviados para stderr, e esse parece ser o caso de awk
, então redirecionar stderr para / dev / null deve evitar que você veja essas mensagens, assim:
awk your_options your_file 2>/dev/null
Em um script, recebo algum aviso do formulário awk: warning: escape sequence \( treated as plain (
.
Desde que eu quero usar a saída desse script para fazer coisas, eu quero que ele produza apenas resultados e não avisos.
Eu posso corrigir esse aviso facilmente, mas existe uma maneira de se livrar de todos os avisos no awk?
O problema de direcionar stderr
para /dev/null
(como sugerido pela resposta de @garyjohn) é que você perdeu erros ALL , não apenas esse aviso que você gostaria de suprimir. Então você vai sentir falta de algo mais significativo dando errado. Má ideia, em geral. NUNCA faça isso, a menos que não haja outra alternativa. Felizmente, neste caso, há uma alternativa muito melhor.
A solução limpa para o problema do OP é usar " \(
" em vez de " \(
". Isso é o que o awk / gawk está tentando te alertar - não é apenas lamentar por diversão.