我必须(用文件中的某个字符替换,但我做不到。\(用于在 sed 中分组,当我\\(与 sed 一起使用时,它将其视为\(字符而不仅仅是(. 对我来说,这似乎是一个棘手的案例。
N.N*_*.N. 63
如果您在不使用(扩展正则表达式)的情况下 使用 sed -r,它将按使用方式工作,\(\)而不是()用于分组:
sed -e 's/(/X/g'
Run Code Online (Sandbox Code Playgroud)
例如
$ echo "foo (bar) (baz)" | sed -e 's/(/X/g'
foo Xbar) Xbaz)
Run Code Online (Sandbox Code Playgroud)
如果你想使用-r你可以放在(里面[],例如
sed -re 's/[(]/X/g'
Run Code Online (Sandbox Code Playgroud)
正如Lekensteyn 所说,使用tr可能更合适,因为您只是在替换并且不需要正则表达式的全部功能。