我想替换A/comp with B/comp
当前目录和子目录下的字符串。
我尝试发布这个
find ./ -type f -exec sed -i -e 's/A/Comp/B/comp/g' {} \;
但/
分隔符似乎是错误的并且不能替换所需的字符串。
答案1
s
中的命令不sed
被绑定/
为分隔符:
s/BRE/replacement/flags
用替换字符串替换模式空间中的 BRE 实例。可以使用除 <backslash> 或 <newline> 之外的任何字符代替 <slash> 来分隔 BRE 和替换。在 BRE 和替换中,如果 BRE 分隔符前面有 <backslash>,则 BRE 分隔符本身可以用作文字字符。
(来源)
可以使用未出现在
A/comp
and中的分隔符B/comp
,例如:s|A/comp|B/comp|g
您选择分隔符。 甚至
sZA/compZB/compZg
或s A/comp B/comp g
都可以。或者,如果您选择坚持使用
/
,请转义每个/
应按字面意思理解的字符:s/A\/comp/B\/comp/g