
在腳本上,我收到一些表單的警告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 試圖警告您的內容 - 這不僅僅是為了好玩而抱怨。