1. 怎麼用shell腳本將文件名改名
修改文件名可以有不同的命令方式,比如rename, mv都可以實現
對於單個的文件,可以直接使用以上的命令,那如果有大量的類似格式的文件名需要修改成其他格式的,該如何呢?
比如某次測試後,保存的文件為 Lan1.txt, Lan2.txt,....Lan100.txt
這一百個文件需要在前面添加前綴變成類似 ch7_Lan1.txt,如果你還想使用mv來一個一個...多痛苦啊
當前文件夾下,文件修改有4種方式
1. 使用while Loop加 ${//}來實現Lan到 ch7_Lan的替換
點擊(此處)折疊或打開
find . -name "Lan*txt" -type f | read files
do
new=${files/Lan/ch7_Lan}
mv $files $new
done
2. 充分利用 awk的分隔符功能來實現
點擊(此處)折疊或打開
ls *Lan* | awk 'BEGIN{FS="Lan";OFS="ch7_Lan"}{printf "mv "$0" ";$1=$1;print $0}' | sh
首先,修改 FS和 OFS,輸入和輸出的分隔符
其次,使用 awk中的命令,拼接 「mv Lan1.txt ch7_Lan1.txt」這條命令
最後,使用|sh來執行一個 shell命令來完成 mv動作
其中,$1=$1是必須的,這個是完成 Lan===> ch7_Lan的關鍵(其實是可以使用 $2=$2等來替換,只要一個賦值動作而已)
奇怪的是,難道沒有賦值動作,分隔符的改變就不能檢測出來么??
3. 使用 awk的內置命令,gsub和 system來實現替換和命令執行
點擊(此處)折疊或打開
ls "*Lan*" | awk '{org=$0;gsub("Lan", "ch7_Lan");system("mv "org" "$1)}'
首先保存原始的數據
其次修改 Lan為 ch_Lan
最後執行mv動作
2. PHP腳本批量修改文件名
$dir = "files/";
$filearray = scandir($dir);
function changename($str){
return "rr".$str;
}
for($i=3;$i>=2;$i--){
echo $dir.$filearray[$i]."<br>";
rename($dir.$filearray[$i],$dir.changename($filearray[$i]));
}
3. 如何在unity中的腳本進行類名更改
地在MonoDevelop里把類名直接改掉,會破壞現有場景以及Project Assets中所有引用該腳本的鏈接,屆時還需要一個一個把腳本添加回去,非常麻煩。其實只要遵循以下3個步驟,即可順利重命名類名,且不破壞任何資源鏈接以及腳本之間的引用:
在Project Assets中,修改腳本文件名稱。
雙擊改好名的腳本,在MonoDevelop中打開,然後將游標移至類名處,按鍵盤F2鍵,在彈出對話框中輸入新名稱(與腳本名相同)。
Ctrl+S保存腳本。
注意:第3步中如果改名牽涉到多個引用到該類的腳本,且這些腳本正好在MonoDevelop中的其他tab打開了,會發現這些腳本也被修改了,此時還需要對他們一一進行保存,否則編譯器會報錯,更快捷的方法是:File->Save All。
4. 按鍵精靈錄制腳本完成後,怎麼給腳本改個名字啊,不要默認的名字
錄制完以後,點擊停止,就會進入編輯窗口並生成腳本源代碼,你只要注意一下窗口右邊,有一個腳本屬性,線面就有「描述 我的腳本」點擊我的腳本就可以修改腳本名,然後保存,我的腳本是默認的。