-1
最近的產品品牌更新促使我將工作區中舊產品名稱的每個實例更改爲新產品名稱。這涉及到不僅要更改每個文件類型的源代碼,還要更改文件和目錄名稱。將工作區中產品名稱的每個實例更改爲新的產品名稱
此外,源代碼版本由SVN控制。因此我不想在.svn目錄中更改任何內容。這增加了一個有趣的警告...
下面的腳本基本上是我使用的地方「舊名稱」是舊產品名稱和「新名稱」是新的。我在更改文件和目錄名稱時遇到問題。我確信它必須在文件系統上動態重命名這些路徑。另外,我還沒有想出如何跳過.svn目錄。我想知道是否有更聰明的方法來做到這一點,也許使用Python?
(我寧願這是一個腳本的情況下,產品的名稱再次變更)
#!/bin/sh
exts=('*.m', '*.java');
# change text
for ext in "${exts[@]}"
do
find . -name $ext -type f -exec sed -i 's/oldname/newname/' {} \;
find . -name $ext -type f -exec sed -i 's/OldName/NewName/' {} \;
find . -name $ext -type f -exec sed -i 's/OLDNAME/NEWNAME/' {} \;
done
# change file names
find . -name "*oldname*" -type f -exec rename oldname newname {} \;
find . -name "*OldName*" -type f -exec rename OldName NewName {} \;
find . -name "*OLDNAME*" -type f -exec rename OLDNAME NEWNAME {} \;
# change directory names
find . -name "*oldname*" -type d -exec rename oldname newname {} \;
find . -name "*OldName*" -type d -exec rename OldName NewName {} \;
find . -name "*OLDNAME*" -type d -exec rename OLDNAME NEWNAME {} \;
微米。 ..如何解決「不硬編碼的事情將改變」?使用「productname」重命名舊產品名稱的所有出現,然後在單個位置爲產品名稱分配一個值。 – honi
我想先讓它工作,但很好的建議。謝謝 – GPL