我有一个可执行文件,它在这里寻找Kanwadict
/usr/local/share/kakasi/kanwadict
当它应该在里面寻找时
/home/mrhowtos/public_html/share/kakasi/kanwadict
所以我想替换所有的
"/usr/local/share/kakasi/kanwadict"
在可执行文件中
"/home/mrhowtos/public_html/share/kakasi/kanwadict"
另外,我没有权限在它查找的位置写入,所以我不能只是移动它要查找的文件。
我找到了要查找和替换的 cmd,但其分隔符是"/"
sed -i 's/old-word/new-word/g' *.txt
所以这样做对我不起作用,有没有另一个命令可以做到这一点?
使用替代分隔符,如 #
与 sed :
sed -i.bak 's#old-word#new-word#g' *.txt
对于您的情况,它将是:
sed -i.bak 's#/usr/local/share/kakasi/kanwadict#/home/mrhowtos/public_html/share/kakasi/kanwadict#g' *.txt
你需要像/
一样转义/
字符;
sed -i 's//usr/local/share/kakasi/kanwadict//home/mrhowtos/public_html/share/kakasi/kanwadict/g' *.txt