我有一个文件夹,里面全是文件夹,有些文件夹里面可能有文件夹,也可能没有。它看起来像这样:
~/stuff/01.d/01/files
~/stuff/02.d/files
~/stuff/03.d/files
~/stuff/04.d/lol/files
~/stuff/05.d/files
我想为 中的每个文件夹创建单独的 .rar 文件~/stuff
,所以我打算这样做,for f in *.d; do rar a "${f//.d/.rar}" "$f"; done
效果很好,并给了我 rar 文件。但我宁愿 rar 文件里根本没有目录结构,只有文件。有没有简单的方法可以做到这一点?似乎其中一个开关看起来可以完成我想要的操作,但手册页有点混乱。我会尝试一些方法。
我最终可能会尝试找出一个 bash 脚本,以便 cd 进入目录,检查是否是文件,如果是,则在父级 (../${f//.d/.rar}) 中创建 .rar,否则再次进入目录并创建两个父级 (../../${f//.d/.rar}) 的 rar。在这种情况下,我想rar a ../"${f//.d/.rar}" *
,我还没有测试过。
答案1
我认为你想要-ep
切换:
for f in *.d; do rar a -ep "${f//.d/.rar}" "$f"; done
这将为您提供每个目录的 rar,但其中没有目录结构(“ep”=“从名称中排除路径”)。