sed查到某行中的两个字符串并替换其中一个 5

PopeyeSailor:156-454-3322:945BlutoStreet,Anywhere,USA29358:3/19/35:22350查找出Popeye的生日,... Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350
查找出Popeye的生日,并把生日改成11/14/46,假设你不知道Popeye的生日,用正则表达式匹配

我可以以查找出来该行,如下:
sed -n '/.*Popeye.*[0-9]\{0,2\}\/[0-9]\{0,2\}\/[0-9]\{0,2\}.*$/p' datebook
但是替换其中一个却不知道怎么写了,刚学习,请高手提拔不胜感激!!
第二天SB似的想起来怎么用了

sed -n'/^.*Popeye.*[0-9]\{0,2\}\/[0-9]\{0,2\}\/[0-9]\{0,2\}.*$/p' datebook | sed -n 's/[0-9]\{0,2\}\/[0-9]\{0,2\}\/[0-9]{0,2\}/11\/14\/46/p'
展开
 我来答
luneng8183
2016-11-24 · TA获得超过901个赞
知道小有建树答主
回答量:606
采纳率:100%
帮助的人:508万
展开全部

可以有更简单的写法,希望您喜欢并采纳:

sed '/^Popeye /{s/[0-9]\{0,2\}\/[0-9]\{0,2\}\/[0-9]\{0,2\}/11\/14\/46/g;}' datebook
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式