gpt4 book ai didi

linux - 为目录中的每个子目录创建一个 RAR 存档 - Centos/Ubuntu

转载 作者:太空狗 更新时间:2023-10-29 12:15:50 27 4
gpt4 key购买 nike

如果在 Ubuntu 或 Centos 上使用 RAR,这是压缩单个文件夹(里面有子文件夹)的命令,或者是压缩单个存档目录中所有文件夹的命令:

rar a -m0 -r name.rar

在哪里

-m0 是压缩级别
-r递归模式

但是如果我想压缩每个文件夹呢?使用哪些命令?

我想在压缩每个文件夹时保留目录树。

我也试过这个命令,

for folder in */; do echo rar a -m0 -r "${folder%/}.rar" "$folder"; done

但它没有给我任何操作,但在终端中显示为:

user@hppro ~
$ ls -l
total 3
drwxr-xr-x+ 1 user None 0 Aug 2 03:17 abcd_dir
drwxr-xr-x+ 1 user None 0 Aug 2 03:18 defgh_dir
-rwx------ 1 user None 86 Dec 24 2020 blahfile

user@hppro ~
$ for folder in */; do echo rar a -m0 -r "${folder%/}.rar" "$folder"; done
rar a -m0 -r abcd_dir.rar abcd_dir/
rar a -m0 -r defgh_dir.rar defgh_dir/

user@hppro ~
$

参数替换 ${folder%/> 用于删除文件夹名称末尾的“/”。但是这段代码不起作用。

来源:http://www.linuxquestions.org/questions/linux-newbie-8/compress-folder-in-rar-652612/

P.S:我使用的是 Centos 或 Ubuntu 而不是 Windows。

最佳答案

您可能只需要删除 echo:

for folder in */; do rar a -m0 -r "${folder%/}.rar" "$folder"; done

关于linux - 为目录中的每个子目录创建一个 RAR 存档 - Centos/Ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25299584/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com