50、高级Shell脚本中的sed编辑器使用技巧

高级Shell脚本中的sed编辑器使用技巧

1. 分支命令与测试命令

在使用 sed 编辑器时,为防止出现问题,分支命令应指定地址模式。若模式不存在,分支将停止。示例如下:

$ echo "This, is, a, test, to, remove, commas." | sed -n '{
> :start
> s/,//1p
> /,/b start
> }'

输出结果:

This is, a, test, to, remove, commas.
This is a, test, to, remove, commas.
This is a test, to, remove, commas.
This is a test to, remove, commas.
This is a test to remove, commas.
This is a test to remove commas.

此例中,分支命令仅在行中有逗号时分支。最后一个逗号被移除后,分支命令不再执行,脚本正常结束。

测试命令 t 与分支命令类似,用于修改 sed 编辑器脚本的流程。不过,它根据替换命令的结果跳转到标签,而非基于地址。若替换命令成功匹配并替换模式,测试命令将分支到指定标签;若未匹配,则不分支。其格式为 [address]t [label] ,若不指定标签,测试成功时 sed

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值