Відповіді:
Якщо ви використовуєте 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'
Як Lekensteyn позначки , використовуючи tr
може бути більш підходящим , як ви просто заміна і вам не потрібна вся міць регулярних виразів.
grep -lRZ " split(" . | xargs -0 sed -i -e 's/ split(/ explode(/g'
tr
(anslate)echo 'Hello (world)' | tr '()' '[]'
; він виводитьHello [world]
.