抑制 awk 警告

抑制 awk 警告

在腳本上,我收到一些表單的警告awk: warning: escape sequence \( treated as plain (。由於我想使用該腳本的輸出來執行操作,因此我希望它僅輸出結果而不輸出警告。

我可以輕鬆糾正該警告,但是有沒有辦法消除 awk 中的所有警告?

答案1

警告和錯誤訊息通常會發送到 stderr,似乎就是這種情況awk,因此將 stderr 重定向到 /dev/null 應該可以讓您看不到這些訊息,如下所示:

awk your_options your_file 2>/dev/null

答案2

stderr定向的問題/dev/null(正如 @garyjohn 的答案所建議的)是你錯過了全部錯誤,而不僅僅是您想要抑制的警告。所以你會錯過任何更重要的錯誤。總的來說,這是個壞主意。絕不除非沒有其他選擇,否則就這樣做。幸運的是,在這種情況下有一個更好的選擇。

OP問題的乾淨解決方案是使用“ \\(”而不是“ \(”。這就是 awk/gawk 試圖警告您的內容 - 這不僅僅是為了好玩而抱怨。

相關內容