Odpowiedzi:
Jeśli użyjesz sed bez -r
(rozszerzone wyrażenia regularne), będzie działać tak, jak używa \(\)
zamiast ()
grupować:
sed -e 's/(/X/g'
Na przykład
$ echo "foo (bar) (baz)" | sed -e 's/(/X/g'
foo Xbar) Xbaz)
Jeśli chcesz użyć -r
, możesz włożyć do (
środka []
np
sed -re 's/[(]/X/g'
Jak zauważa Lekensteyn, używanie tr
może być bardziej odpowiednie, ponieważ jedynie zastępujesz i nie potrzebujesz pełnej mocy wyrażeń regularnych.
grep -lRZ " split(" . | xargs -0 sed -i -e 's/ split(/ explode(/g'
tr
(anslate)echo 'Hello (world)' | tr '()' '[]'
; wychodziHello [world]
.