将文件夹列表传递给 zip 命令

将文件夹列表传递给 zip 命令

我有一个文件夹,其中包含很多文件夹。

我不需要将它们全部压缩,并且我有一个需要压缩在单独文件中的文件夹列表

文件夹列表的格式如下:

folder1 folder2 folder3...

我可以做这样的事情(这不起作用,但我不知道如何正确传递参数):

zip -r backup1.zip < listOfFolders.txt

答案1

使用该选项-@可以zip从其标准输入读取文件列表。

$ cat listOfFolders.txt | zip -r@ part1.zip

答案2

zip backup1.zip -r@ < listOfFolders.txt

选项r@使 zip 从标准输入读取输入。

如果您不想从临时文件传递文件列表文件夹列表.txt,我们可以使用grep来过滤文件并将结果传递给zip,如下所示

grep -rl "<parent_folder_name>" <file/folder_name_regex> | zip backup1.zip -r@

(或者)

正如上面的答案中提到的那样

listOfFolders zip -r@ backup1.zip

相关内容