www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2010/04/23/13:43:33

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 <eliz AT gnu DOT org>
Subject: Re: GNU sed question
In-reply-to: <qah3t59tamdcag9gm26mkkhddj96gs984s@4ax.com>
X-012-Sender: halo1 AT inter DOT net DOT il
To: djgpp AT delorie DOT com
Message-id: <838w8e2hgm.fsf@gnu.org>
References: <qah3t59tamdcag9gm26mkkhddj96gs984s AT 4ax DOT com>
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

> 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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019