如何在匹配行中将生日更改为特定日期

如何在匹配行中将生日更改为特定日期

使用sed,我该如何将Popeye的生日更改为11/14/46?假设您不知道大力水手原来的生日。

输入文件名为datebook,如下:

Arthur Putie:923-835-8745:23 Wimp Lane, Kensington, DL 38758:8/31/69:126000
Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350
Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600

我试过

sed ‘^\(/Popeye/s/[0-9]{5}\):/\1:11/14/46’ datebook 

但它没有作用。

答案1

有数字、斜线、数字、斜线、数字。使用备用分隔符来避免使用反斜线:

sed '/Popeye/s,[0-9]\+/[0-9]\+/[0-9]\+,11/14/46,'

相关内容