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
。
我比较了家庭和工作计算机上的一个目录,并得到了我在家里有但在工作中没有的目录列表:
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
。