2014-10-31 86 views
1

我使用bash重命名多個腳本,但似乎不起作用 這裏是我要重命名的示例文件名Continuum S02E13 [Number1Music.Us] .mkv 輸出連續S02E13 [bulkseries.com] .MKV重命名批量文件並更改某些前綴並將它們更改

for i in *.mkv;do mv $i ${i//[Number1Music.Us].mkv/[bulkseries.com.mkv]};done 

等問題是RAR這些文件我還沒有測試它,但它必須是這樣的。

for i in *.mkv;do rar a -m0 "$i.rar" "$i";done 

在此先感謝

回答

1

你需要逃避[],因爲這些都是水珠圖案的特殊符號。使用此mv命令:

for i in *.mkv;do 
    mv "$i" "${i//\[Number1Music.Us\]/[bulkseries.com]}" 
done 
+0

你能告訴我到底是什麼做的「」表示,即「$ I」爲什麼我們不只是使用$我不是 – 2014-10-31 17:06:49

+0

在shell腳本總是比較安全的引用變量,否則外殼可能擴大他們。 – anubhava 2014-10-31 17:08:36

相關問題