我想让AWK只打印与以下模式不匹配的打印行:
awk -F'-' 'NF>7'
(其中 - 出现超过7次的行)
有一种简单的方法吗?
非常感谢
答案 0 :(得分:3)
在其前面粘贴!
或将比较从>
更改为<=
。
答案 1 :(得分:0)
如果你不喜欢使用Awk,那么GNU Grep可以做到: 代码:
{{1}}
-v选项表示显示不匹配的行,-E表示使用扩展正则表达式
答案 2 :(得分:0)
仅使用awk也可以采用不同的方法。
awk 'gsub(/-/,"-")>=7' Input_file
说明:全局用短划线代替短划线并检查它的计数是否大于或等于7,如果是,则打印该行。因此awk适用于条件/动作样式,如果任何条件为TRUE,则动作应按照所述样式发生,因此这里没有提到的动作,因此默认打印将发生在当前行或记录中。我希望这会对你有所帮助。