当前位置:   article > 正文

linux zip命令打包文件,数量过多时的解决方案bash: /usr/bin/zip: Argument list too long_linux zip 多个文件

linux zip 多个文件

一 相关背景

在文件夹a里面有20万个aac文件,以及20万txt文件,我想要打包其中的aac文件为zip使用命令zip aa.rar folder/*.aac,然后遇到了提示bash: /usr/bin/zip: Argument list too long · 原因是因为其中文件过多,超过了zip的处理范围

二、解决方案

find /path/to/folder -name "*.aac" -exec zip aac_files.zip {} +

  • 1
  • 2

当使用find命令结合zip命令打包文件时,可以避免参数列表过长的错误。让我逐步解释这个命令的不同部分:

find: 这是Linux中的一个实用程序,用于在指定路径下搜索文件和目录。

/path/to/folder: 这是您要搜索的文件夹的实际路径。请将其替换为包含AAC和TXT文件的文件夹路径。

-name "*.aac": 这是find命令的选项之一,用于指定要匹配的文件名模式。在这种情况下,我们使用*.aac来匹配所有以.aac为扩展名的文件。

-exec zip aac_files.zip {} +: 这是find命令的另一个选项,用于在找到匹配的文件时执行特定的命令。在这里,我们使用-exec选项将zip aac_files.zip {} +作为要执行的命令。

对于-exec zip aac_files.zip {} +这个命令:
zip: 这是用于创建ZIP文件的命令。
aac_files.zip: 这是要创建的ZIP文件的名称。您可以根据需要更改名称。
{}: 这是find命令传递给-exec选项的占位符,它表示找到的每个文件。
+: 这是-exec选项的终止符,表示将尽可能多的文件一起传递给zip命令,以避免参数列表过长的错误。
使用上述命令,find将搜索指定文件夹中以.aac为扩展名的文件,并将它们传递给zip命令来创建名为aac_files.zip的ZIP文件。无论文件数量有多大,这个命令都可以处理,并避免参数列表过长的错误。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/170547
推荐阅读
相关标签
  

闽ICP备14008679号