【发布时间】:2017-07-04 02:21:21
【问题描述】:
我想让 AWK 只打印与以下模式不匹配的行:
awk -F'-' 'NF>7'
(其中 - 出现超过 7 次的行)
有没有简单的方法来做到这一点?
非常感谢
【问题讨论】:
-
在其前面贴上
!或将比较从>更改为<=。 -
改对比作品,没想到!谢谢
我想让 AWK 只打印与以下模式不匹配的行:
awk -F'-' 'NF>7'
(其中 - 出现超过 7 次的行)
有没有简单的方法来做到这一点?
非常感谢
【问题讨论】:
! 或将比较从> 更改为<=。
在其前面贴上! 或将比较从> 更改为<=。
【讨论】:
!并在NF>7周围加上括号",否则你只需评估!NF。
如果您不习惯使用 Awk,GNU Grep 可以做到: 代码:
grep -Ev '<your regex>'
-v 选项表示显示不匹配的行,-E 表示使用扩展正则表达式
【讨论】:
NF > 7 不完全是一个正则表达式(虽然你可以编写一个具有相同效果的正则表达式,但它不会那么紧凑)。