QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2800|回复: 2

关于grep的问题

[复制链接]
发表于 2007-5-15 20:06:34 | 显示全部楼层 |阅读模式
我写了一个grep命令,如下:
grep "[^a-z]Pro" abc.txt
在abc.txt文件中查找Pro字符串,其前面不允许有小写英文字母,但是这样查找会把以Pro字符串开头的行过滤掉,如何能够让他包括以Pro字符串开头的行?

谢谢
发表于 2007-5-16 12:19:23 | 显示全部楼层
你要注意:
匹配是逐行进行的;
匹配默认情况下总是追求最大化,即它总是根据最后一次匹配成功时遇到的情况执行特定的动作,大多数是显示操作;
思路:
1. 删除所有包含 Pro 且 Pro 前方紧跟小写字母的行;
2. 从上一步的结果中筛选所有包含 Pro 的行。
看结果:

[root@MagicLinux ~]# cat abc.txt
aPro
zPro
Pro
Proh
sss Pro
HHHdPro
Prosisses
askjha
sajkk
HHHJProhu
jjyuPro
kkiyProdd
Prohu sdjkPro
ProPro
Pro Pro h0Pro HHJpro hhyKPro


[root@MagicLinux ~]# cat abc.txt | grep -v "[a-z]Pro"
Pro
Proh
sss Pro
Prosisses
askjha
sajkk
HHHJProhu
Pro Pro h0Pro HHJpro hhyKPro


[root@MagicLinux ~]# cat abc.txt | grep -v "[a-z]Pro" | grep "Pro"
Pro
Proh
sss Pro
Prosisses
HHHJProhu
Pro Pro h0Pro HHJpro hhyKPro
回复

使用道具 举报

发表于 2007-7-3 14:12:52 | 显示全部楼层
grep "^[^a-z]*Pro"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-12-1 18:44 , Processed in 0.044773 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表