A与B A或B
awk /A/&&/B/ /A/||/B/
grep grep A|grep B A/|B
sed /A/{/B/..} /A/..;/B/..;
实例操作如下:
[root@mby /home/sysadmin/zhaoyj]# cat test
AAA
BBBB
AAABBBB
CCCC
DD
[root@mby /home/sysadmin/zhaoyj]# awk '/A/&&/B/{print}' test
AAABBBB
[root@mby /home/sysadmin/zhaoyj]# awk '/A/&&/B/&&/C/{print}' test
[root@mby /home/sysadmin/zhaoyj]# grep A test |grep B
AAABBBB
[root@mby /home/sysadmin/zhaoyj]# grep A test |grep B |grep C
[root@mby /home/sysadmin/zhaoyj]# awk '/A/||/B/||/C/{print}' test
AAA
BBBB
AAABBBB
CCCC
[root@mby /home/sysadmin/zhaoyj]# grep 'A/|B' test
AAA
BBBB
AAABBBB
[root@mby /home/sysadmin/zhaoyj]# grep 'A/|B/|C' test
AAA
BBBB
AAABBBB
CCCC
可是当我用sed来测试的时候为什么就不能实现呢,尝试了两种方法都无法实现,谁能告诉我这到底是为什么呢
难道是sed版本问题吗,当我用sed --version 执行的时候却是报错信息没有显示版本信息
[root@mby /home/sysadmin/zhaoyj]# sed -n '/A/{/B/p}' test
sed: 1: "/A/{/B/p}": extra characters at the end of p command
[root@mby /home/sysadmin/zhaoyj]# sed -n '/A|B/p' test
[root@mby /home/sysadmin/zhaoyj]# sed '/A/{/B/..}' test
sed: 1: "/A/{/B/..}": invalid command code .
[root@mby /home/sysadmin/zhaoyj]# sed '/A/..;/B/..;' test
sed: 1: "/A/..;/B/..;": invalid command code .