Answers:
如果使用不带 -r
(扩展的正则表达式)的sed ,它将按其使用方式\(\)
而不是()
分组方式工作:
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]
。