将目录中的所有文件夹压缩为各自的 .rar 文件

将目录中的所有文件夹压缩为各自的 .rar 文件

我有一个目录,里面有很多子目录,我想找到一种方法,使用终端将所有这些子目录转换为它们自己的 .rar 文件,因为这些子目录太多了,无法单独处理。我需要每个子目录都是自己的 .rar 文件,而不是将主目录压缩成一个大的 .rar 文件,因为子目录在压缩后必须放到不同的地方。谢谢。

答案1

如果您确实需要 .rar 扩展名,那么您需要安装 rar。

sudo apt install rar

以下命令将压缩当前工作目录中的所有目录(使用命令pwd了解当前目录):

for dir in */
do
  base=$(basename "$dir")
  rar a "${base}" "$dir"
done

对于普通的 tar 球,您可以使用:

cd directory
for dir in */
do
  base=$(basename "$dir")
  tar -czf "${base}.tar.gz" "$dir"
done

相关内容