SED、AWK、GREP与或匹配

本文探讨了在处理复杂匹配时,sed命令在实现特定功能时遇到的限制和挑战,通过实例展示了awk和grep命令在类似场景中的优势,并深入分析了sed命令在不同模式组合下的使用技巧及潜在问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A与BA或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 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值