7zip: 无法从文本文件压缩目录,"WARNING: No more files"

7zip: can't compress directories from text file, "WARNING: No more files"

我比较了家庭和工作计算机上的一个目录,并得到了我在家里有但在工作中没有的目录列表:

comm -23 <(ls home_dir) <(ssh login@address ls work_dir) >missing

然后我编辑了文件missing,变成了这样:

"dir1" "dir2" "dir3" .....

然后我尝试用 7zip:

压缩丢失的目录
7z a missing.7z $(cat missing)

但我收到一条错误消息:

Scanning the drive:

WARNING: No more files
"dir1"


WARNING: No more files
"dir2"


WARNING: No more files
"dir3"

.............

当我将目录列表粘贴到 7zip 命令时:

7z a missing.7z "dir1" "dir2" "dir3" ......

一切都很好。

为什么我不能从文件中获取目录列表?

如果您从文件中删除引号,您的命令将起作用。我不知道为什么会发生这种情况,但我认为这与参数的传递方式有关。我认为 "dir1" 是字面上发送的,这就是 7z 所抱怨的。

如果文件名或目录中有空格,我建议使用以下代码。您将必须更改 "missing" 文件以使用换行符分隔目录或文件。

#! /bin/bash
archive=test.7z
while read -r line; do 7z a ${archive} "$line"; done < "missing"
dir1
dir2
dir 4

我无法使用其他任何东西 7z