Chinaunix首页 | 论坛 | 博客
  • 博客访问: 928029
  • 博文数量: 146
  • 博客积分: 3321
  • 博客等级: 中校
  • 技术积分: 1523
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 10:32
文章分类

全部博文(146)

文章存档

2014年(2)

2013年(5)

2012年(4)

2011年(6)

2010年(30)

2009年(75)

2008年(24)

分类:

2009-07-21 20:47:53

这是今天新闻组讨论过的一个问题。
匹配下面文件中有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   把表达式作为词来查找
阅读(2608) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~