28
我有一个网站目录,我需要将所有硬编码链接从一个域更改为另一个域。寻找一个单独的(grep?sed?)bash命令,它允许我更改目录中所有文件中的所有文本。搜索并替换linux目录的所有文件中的文本
我有一个网站目录,我需要将所有硬编码链接从一个域更改为另一个域。寻找一个单独的(grep?sed?)bash命令,它允许我更改目录中所有文件中的所有文本。搜索并替换linux目录的所有文件中的文本
下面将做到这一点:
sed -i 's/old_link/new_link/g' file...
不要忘了逃避任何斜线,点,并在链接地址的任何其他正则表达式特殊字符用反斜杠。
另外,尝试:
perl -p -i -e <regex> <folder>
@ Goldshteyn-你的人,感谢 – Yarin 2010-11-03 19:48:01
您可以使用替代分隔符在'sed'命令,以避免做一些转义:'sed的-i的|旧/ with/slashes | new/with/slashes/g'' – 2010-11-03 20:18:18
我认为你的意思是:'s | old/with/slashes | new/with/slashes | g'。是的,你可以使用一个在文件名中无效的字符,但是sed可以使用它来分隔正则表达式,以避免转义字符。 – 2010-11-03 20:35:42