我正在我的文件的一个字段中搜索一个有几行的模式。如果存在模式,我希望输出该行。但是,如果模式根本不存在,我想输出类似“缺失”之类的内容。
awk '{if($2=="123456"){print $0} else {print "not present"} }' file.txt(由于逐行输出,这不起作用)
我的问题是这里的逐行输出。每行有一个输出,但我想要与模式匹配的行或术语“缺失”(只有一次)。
我很感激每一种帮助!我尝试了几种方法,包括grep,如果其他,循环,但没有任何工作,我想。
发布于 2016-03-01 16:10:19
字里行间我想你想要这样的东西:
awk '$2 == "123456" { print; f = 1 } END { if (!f) print "missing" }' file这将在第二个字段匹配并设置标志f时打印行。处理完文件后,如果仍然未设置标志,则打印消息。
https://stackoverflow.com/questions/35727302
复制相似问题