2014-10-31 102 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