In article <caa6a54d-8488-499c-8057-f24e930f3...@g35g2000yqa.googlegroups.com>,
Toby  <tobias.wun...@gmail.com> wrote:
>Hi,
>
>I would like to replace a a set of words by another word via sed. My
>first try was:
>
>  echo "a cat or a dog" | sed 's/\(cat\)\|\(dog\)/PET/g'
>
>I also tried some variations of this. But all failed.

Works for me:

$ echo "a cat or a dog" | sed 's/\(cat\)\|\(dog\)/PET/g'
a PET or a PET

The \(...\) aren't necessary, since the \| has low precedence.

$ echo "a cat or a dog" | sed 's/cat\|dog/PET/g'
a PET or a PET

$ sed --version
GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

-- 
Alan Curry

Reply via email to