我用diff文件创build了一个diff-files.txt文件,里面有6000多个文件path。 现在我想要创build一个基于这些文件的zip。
我知道我可以压缩多个文件:
zip diffedfiles.zip file1 folder1 -r
但是这对6000多个文件无效。 有没有办法根据diff-files.txt的内容压缩它?
zip diffedfiles.zip {diff-files.txt} -r
像这样的东西?
在Linux上,您可以使用 – @选项:
– @文件列表。 如果一个文件列表被指定为 – @ [不是在MacOS上],zip从标准input中取出input文件的列表,而不是从命令行input。 例如,
zip -@ foo将存储在foo.zip的标准input中每行列出的文件。
所以在你的情况下,你应该能够做到:
cat diff-files.txt | zip -@ diffedfiles.zip
得到它了:
zip diffedfiles.zip $(cat diff-files.txt) -r