zip:参数列表太长(总共 80.000 个文件)

ane*_*yzm 17 compression zip arguments recursive

我需要将 80.000 个文件压缩成多个 zip 文件。这是我使用的命令:

zip -s 200M photos_test/*
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

-bash: /usr/bin/zip: Argument list too long
Run Code Online (Sandbox Code Playgroud)

除了手动拆分文件夹文件,我还能做些什么来解决这个问题?

谢谢

Mat*_*Mat 16

如果你想要整个目录,你可以简单地使用-r开关:

zip -r -s 200M myzip photos_test
Run Code Online (Sandbox Code Playgroud)

这将包括photos_test尽管的所有子目录。


sto*_*fen 11

问题似乎是“*”的扩展。使用文件夹名称或“.”:

如果要在 zip 中包含根文件夹:

zip -r my.zip folder_with_80k_files
Run Code Online (Sandbox Code Playgroud)

如果您不想在 zip 中包含根文件夹:

cd folder_with_80k_files
zip -r my.zip .
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 5

find photos_test/ -mindepth 1 -maxdepth 1 | zip -@ -s 200M
Run Code Online (Sandbox Code Playgroud)

  • 使用`查找。-mindepth 1 -maxdepth -name '*.json' | zip {YOURZIPFILENAME}.zip -@` 如果您不需要拆分并希望按扩展名选择文件。 (3认同)