Mail Archives: djgpp/2010/04/23/13:43:33
> From: Mike <no AT please DOT dont DOT invalid>
> Date: Fri, 23 Apr 2010 13:05:56 -0400
> Injection-Date: Fri, 23 Apr 2010 17:05:58 +0000 (UTC)
> Bytes: 2028
>
> Why does sed change all the first occurences of AA on each line to ZZ?
> I expect sed to change only the first line:
>
> C:\>cat a
> AAoooooooooooooooooooooooooooooooooAAooooooooooooo
> ooAAoooooooooooooooooooooooooooooooAAooooooooooooo
> oooooooooooooooooooAAooooooooooooooooooooooooooooo
> ooooooAAoooooooooooooooooooooooooooAAooooooooooooo
> ooooooooooAAoooooooooooooooooooooooAAooooooooooooo
>
> C:\>sed s/^AA/ZZ/ a
> ZZoooooooooooooooooooooooooooooooooAAooooooooooooo
> ooZZoooooooooooooooooooooooooooooooAAooooooooooooo
> oooooooooooooooooooZZooooooooooooooooooooooooooooo
> ooooooZZoooooooooooooooooooooooooooAAooooooooooooo
> ooooooooooZZoooooooooooooooooooooooAAooooooooooooo
My crystal ball says that you did this on Windows, where cmd.exe, the
system shell, uses ^ as an escape character. So Sed gets just
"s/AA/ZZ/", with predictable results.
Try including the whole command in quotes, like this:
C:\>sed "s/^AA/ZZ/" a
- Raw text -