Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 重命名大容量文件并更改某些前缀并对其进行排序_Linux_Macos_Bash_Unix - Fatal编程技术网

Linux 重命名大容量文件并更改某些前缀并对其进行排序

Linux 重命名大容量文件并更改某些前缀并对其进行排序,linux,macos,bash,unix,Linux,Macos,Bash,Unix,我正在使用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.r

我正在使用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

提前感谢

您需要转义
[
]
,因为它们是全局模式中的特殊符号。使用此
mv
命令:

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

你能确切地告诉我do“”的意思吗,即“$i”为什么我们不直接使用$i来代替shell脚本。引用变量总是比较安全的,否则shell可能会扩展它们。