tenho o seguinte arquivo
> cat tmp
"aaa"
"aaa:xyz"
A saída desejada é
"bbb"
"aaa:xyz"
Estou usando o seguinte comando sed
sed "s/\baaa\b/bbb/" tmp
Mas com este comando, eu recebo
"bbb"
"bbb:xyz"
O caractere de dois pontos é considerado como limite de palavra. Como posso obter a saída desejada onde apenas a primeira linha é alterada e não a 2ª linha? Eu até tentei o seguinte, mas não teve efeito
sed "s/\Baaa\B/bbb/" tmp
sed "s/\baaa\B/bbb/" tmp
sed "s/\Baaa\b/bbb/" tmp
Edit: eu tenho que usar outros comandos sed no mesmo arquivo como este
's/aaa:xyz/ttt/' tmp
Então, não posso fazer substituição apenas se não houver dois pontos. Eu deveria ser capaz de fazer a substituição independentemente dos dois pontos estarem presentes na linha