
스크립트에서 양식에 대한 경고가 표시됩니다 awk: warning: escape sequence \( treated as plain (
. 해당 스크립트의 출력을 사용하여 작업을 수행하고 싶기 때문에 경고가 아닌 결과만 출력하고 싶습니다.
해당 경고를 쉽게 수정할 수 있지만 awk에서 모든 경고를 제거할 수 있는 방법이 있습니까?
답변1
경고 및 오류 메시지는 일반적으로 stderr로 전송되며 의 경우인 것 같습니다. awk
따라서 stderr를 /dev/null로 리디렉션하면 다음과 같은 해당 메시지가 표시되지 않습니다.
awk your_options your_file 2>/dev/null
답변2
@garyjohn의 답변에서 제안한 대로 지시할 때의 문제는 당신이 놓치는 것 stderr
입니다 ./dev/null
모두오류는 표시하지 않으려는 이 경고뿐만 아니라 따라서 잘못되면 더 중요한 것을 놓칠 수 있습니다. 일반적으로 나쁜 생각입니다.절대다른 대안이 없다면 이렇게 하세요. 다행히도 이 경우에는 훨씬 더 나은 대안이 있습니다.
OP 문제에 대한 깨끗한 해결책은 " \\(
" 대신 " \(
"을 사용하는 것입니다. 이것이 바로 awk/gawk가 여러분에게 경고하려고 하는 것입니다. 단지 재미로 징징거리는 것이 아닙니다.