Bash/awk:当图案不存在时打印“;“不在场”;只有一次,不是每行

Bash/awk:当图案不存在时打印“;“不在场”;只有一次,不是每行,bash,search,design-patterns,awk,line-by-line,Bash,Search,Design Patterns,Awk,Line By Line,我正在文件中有几行的字段中搜索模式。如果模式存在,我希望输出该行。但是,如果该模式根本不存在,我希望输出类似“missing”的内容 (由于逐行输出,这不起作用) 我的问题是这里的逐行输出。每行有一个输出,但我想要与模式匹配的行或术语“缺失”(仅一次) 我感谢你的帮助!我尝试了几种方法,包括grep、if-else、循环,但都没有达到我想要的效果。在字里行间阅读,我想你想要这样的东西: awk '$2 == "123456" { print; f = 1 } END { if (!f) prin

我正在文件中有几行的字段中搜索模式。如果模式存在,我希望输出该行。但是,如果该模式根本不存在,我希望输出类似“missing”的内容

(由于逐行输出,这不起作用)

我的问题是这里的逐行输出。每行有一个输出,但我想要与模式匹配的行或术语“缺失”(仅一次)


我感谢你的帮助!我尝试了几种方法,包括grep、if-else、循环,但都没有达到我想要的效果。

在字里行间阅读,我想你想要这样的东西:

awk '$2 == "123456" { print; f = 1 } END { if (!f) print "missing" }' file

当第二个字段匹配并设置标志
f
时,这将打印该行。处理完文件后,如果标志仍然未设置,则会打印消息。

在字里行间阅读,我想您需要这样的内容:

awk '$2 == "123456" { print; f = 1 } END { if (!f) print "missing" }' file

当第二个字段匹配并设置标志
f
时,这将打印该行。处理完文件后,如果该标志仍然未设置,则会打印消息。

这听起来是一个简单的问题。但是我不知道你到底想要什么。请举例说明需求。我的问题解决了。不过还是谢谢你。这听起来是个容易的问题。但是我不知道你到底想要什么。请举例说明需求。我的问题解决了。谢谢你,谢谢你!这正是我要找的!非常感谢。这正是我要找的!