当字符串包含字符串时,将字符串替换为带有 bash 的文件中的字符串"/"



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

相关内容

  • 没有找到相关文章

最新更新