我有以下文件
> cat tmp
"aaa"
"aaa:xyz"
所需的输出是
"bbb"
"aaa:xyz"
我正在使用以下 sed 命令
sed "s/\baaa\b/bbb/" tmp
但是有了这个命令,我得到了
"bbb"
"bbb:xyz"
冒号字符似乎被视为单词边界。如何在只有第一行而不是第二行更改的情况下获得所需的输出?我什至尝试了以下但没有效果
sed "s/\Baaa\B/bbb/" tmp
sed "s/\baaa\B/bbb/" tmp
sed "s/\Baaa\b/bbb/" tmp
编辑:我必须像这样在同一个文件上使用其他 sed 命令
's/aaa:xyz/ttt/' tmp
所以,只有在没有冒号的情况下,我才能进行替换。无论行中是否存在冒号,我都应该能够进行替换