I have the following file

```
> cat tmp
"aaa"
"aaa:xyz"

```

The desired output is

```
"bbb"
"aaa:xyz"

```

I'm using the following sed command

```
sed "s/\baaa\b/bbb/" tmp

```

But with this command, I get

```
"bbb"
"bbb:xyz"

```

The colon character is considered as word boundary it seems. How can I get the desired output where only the first line gets changed and not the 2nd line? I even tried the following but it had no effect

```
sed "s/\Baaa\B/bbb/" tmp
sed "s/\baaa\B/bbb/" tmp
sed "s/\Baaa\b/bbb/" tmp

```

Edit:
I have to use other sed commands on the same file like this

```
's/aaa:xyz/ttt/' tmp

```

So, I can't do substitution only if there's no colon. I should be able to do substitution regardless of colons being present in the line