1

我有一个可执行文件在这里寻找 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

所以它对我不起作用,是否有另一个命令可以做到这一点?

4

2 回答 2

2

使用替代分隔符#,如 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
于 2012-12-08T09:28:07.240 回答
0

您需要转义/字符,例如\/;

sed -i 's/\/usr\/local\/share\/kakasi\/kanwadict/\/home\/mrhowtos\/public_html\/share\/kakasi\/kanwadict/g' *.txt
于 2012-12-08T12:17:12.123 回答