以下是一个示例代码,它说明了当 awk 命令在处理不匹配模式时出现意外双重打印的情况。
awk '/pattern/ {print $0} !/pattern/ {print "Pattern not found"; exit 1}' file.txt
在上面的示例中,awk 命令将搜索模式“pattern”与文件“file.txt”中的每行进行比较。如果找到匹配的行,它将打印该行。如果没有找到匹配项,则会打印“Pattern not found”。但是,当 awk 遇到“Pattern not found”时,它将在 javacommands 上打印两次该消息并退出。
要解决这个问题,只需将 exit 1 从第二个语句中删除即可。因为它指示 awk 在打印“Pattern not found”后退出,导致重复打印。
下一篇:Awk在第一行的末尾添加一个管道