我正在搜索一个正则表达式,它恰好与7个出现的。* :( 7个字段冒号分开)
不幸的是,我结合了什么:
grep -E '(.*:){7}' ...
当我在{}中删除数字时,也会打印相同的行。 如何测试它固定7次出现?
答案 0 :(得分:0)
您的问题陈述"匹配7个冒号分隔的字段"非常适合awk:
awk -F: 'NF == 7' file ...
答案 1 :(得分:0)
以防您仍想使用grep
来解决问题:
grep -E '^([^:]*:){7}[^:]*$' file
<强>详情:
^
- 行首([^:]*:){7}
- 恰好7次出现
[^:]*
- 除:
:
- 冒号[^:]*
- 除:
$
- 行尾。查看online demo of the regex(不依赖此服务来检查grep
模式的有效性!)