LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 800|回复: 9

正则表达式中如何使模式匹配"与"?

[复制链接]
发表于 2003-9-3 10:22:14 | 显示全部楼层 |阅读模式
比如我要寻找文件 temp中既匹配"abcd",又匹配"1234"的行,如何用正则表达式表示呢?
我知道可以用 more temp |grep "abcd" |grep "1234"实现,但如何用一个表达式表达呢?
发表于 2003-9-3 10:36:20 | 显示全部楼层
more temp|grep '[abcd|1234]'
 楼主| 发表于 2003-9-3 11:13:09 | 显示全部楼层
谢谢,不过,我试了,不行呀.
 楼主| 发表于 2003-9-3 11:16:54 | 显示全部楼层
版主的意思是不是more temp| grep '(abcd|1234)'呀,但是,"abcd"和 "1234"是或的关系,我想要"与"的关系,既匹配行既要有"abcd",又要有"1234".
发表于 2003-9-3 11:21:14 | 显示全部楼层
:sorry,我理解错啦~~
发表于 2003-9-3 13:21:13 | 显示全部楼层
我用grep弄不出来 :sorry
不过你可以用awk '/abcd/ && /1234/' temp来试试看 ;)
[/home/javalee/myshell]cat temp
aaa sdfhk werwerw abc
abc sadf werwer
efd 353 35
drg huyk SDFG
dse EDRT
dr235d ERTERT
aaa
1234 dsfi 43 abcd sdfasdf
1234 rwtwert 34545
abcd werwer 234
[/home/javalee/myshell]awk '/abcd/ && /1234/' temp
1234 dsfi 43 abcd sdfasdf


[/home/javalee/myshell]cat temp|grep 1234|grep abcd
1234 dsfi 43 abcd sdfasdf

效果是一样的.
发表于 2003-9-3 13:42:27 | 显示全部楼层
没什么好办法吧,要不abcd.*1234|1234.*abcd?
还不如grep两次呢
发表于 2003-9-3 14:31:29 | 显示全部楼层
书上说:grep命令是在一个或多个文件中搜索一个字符模式,像penny兄所说,还不如grep两次呢
 楼主| 发表于 2003-9-4 10:04:03 | 显示全部楼层
多谢两位兄弟了!
发表于 2003-9-4 11:24:11 | 显示全部楼层
sed -n -e "/abcd/ {
/1234/p
}" files
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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