想要批量更换" 1/1"用" 1/2"使用sed

时间:2017-11-26 20:27:03

标签: sed replace

我想替换" 1/1"用" 1/2"在目录中的所有文件

我试过

find . -type f -exec sed -i 's/1/1/1/2/g' {} +

得到了

sed: -e expression #1, char 6: unknown option to `s'
我在做错了什么? 当我需要用包含" /"?

的模式替换它时如何使用它

提前致谢

1 个答案:

答案 0 :(得分:0)

替换(s)命令具有分隔它的正斜杠。其格式为:

s/pattern/replacement/flag

这里真正的问题是如何处理模式中出现的正斜杠。您可以在模式中转义正斜杠 这是 的方法。

幸运的是sed允许s命令使用不同的delim所以你可以做类似的事情

find . -type f -exec sed -i 's#1/1#1/2#g' {} \;

此处请注意使用#作为s的分隔符,可帮助您避免替换中涌入反斜杠。