X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Date: Fri, 23 Apr 2010 20:42:49 +0300 From: Eli Zaretskii Subject: Re: GNU sed question In-reply-to: X-012-Sender: halo1 AT inter DOT net DOT il To: djgpp AT delorie DOT com Message-id: <838w8e2hgm.fsf@gnu.org> References: Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: Mike > 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