这是今天新闻组讨论过的一个问题。
匹配下面文件中有2-5个连续a出现的行。如果有连续6个出现则不匹配。
along@along-laptop:~/code/shell$ cat test
a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
abaaan
abaaaaaag
aa aaaaaa
along@along-laptop:~/code/
shell$ awk '$0 ~ /aa[.]*/ && $0 !~ /aaaaaa[.]*/' test
aa
aaa
aaaa
aaaaa
abaaan
grep实现:
cat file | grep "a\{2,\}" | grep -v "a\{6,\}"
grep -w 'a\{2,5\}[^a]*'
grep的参数:
-v 反向查找,只显示不匹配的行
-w 把表达式作为词来查找
阅读(2633) | 评论(0) | 转发(0) |