Ответы:
Если вы используете sed без -r
(расширенные регулярные выражения), он будет работать так, как он использует, \(\)
а не ()
для группировки:
sed -e 's/(/X/g'
Например
$ echo "foo (bar) (baz)" | sed -e 's/(/X/g'
foo Xbar) Xbaz)
Если вы хотите использовать, -r
вы можете положить (
внутрь []
, например,
sed -re 's/[(]/X/g'
Как отмечает Лекенштейн, использование tr
может быть более уместным, поскольку вы просто заменяете и вам не нужны все возможности регулярных выражений.
grep -lRZ " split(" . | xargs -0 sed -i -e 's/ split(/ explode(/g'
tr
(anslate)echo 'Hello (world)' | tr '()' '[]'
; это выводитHello [world]
.