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