禁止 awk 警告

Ped*_*cía 3 bash awk

在脚本中,我收到了一些表单警告awk: warning: escape sequence \( treated as plain (。由于我想使用该脚本的输出来做事,我希望它只输出结果而不是警告。

我可以轻松纠正该警告,但是有没有办法消除 awk 中的所有警告?

小智 7

与指导的问题stderr,以/dev/null(由@garyjohn答案的建议)是你错过了所有的错误,不只是这个警告,您想压制。所以你会错过任何更重要的错误。坏主意,一般。除非别无选择,否则永远不要这样做。幸运的是,在这种情况下,有一个更好的选择。

OP 问题的干净解决方案是使用“ \\(”而不是“ \(”。这就是 awk/gawk 试图警告你的 - 这不仅仅是为了好玩而发牢骚。


gar*_*ohn 5

警告和错误消息通常发送到 stderr,似乎就是这种情况awk,因此将 stderr 重定向到 /dev/null 应该可以让您看不到这些消息,如下所示:

awk your_options your_file 2>/dev/null
Run Code Online (Sandbox Code Playgroud)