在Unix中使用`find`命令时出现`Argument list too long`错误怎么办?

作者:佚名 上传时间:2023-11-26 运行软件:find 软件版本:Unix 版权申诉

在Unix中,Argument list too long错误通常是由于命令行参数过多而导致的。这是因为Unix系统对命令行参数的长度有限制。为了解决这个问题,可以使用find命令的-exec选项,以便将匹配的文件逐个传递给其他命令处理,而不是将它们作为命令行参数传递。

例如,假设你要使用find查找所有扩展名为.txt的文件,并执行某个命令,可以这样做:


find /path/to/search -name "*.txt" -exec your_command {} \;

在这个例子中,{}将会被替换为find命令找到的每个文件的路径。注意 \; 用于表示 -exec 选项的结束。

这样,即使有大量的匹配文件,也不会导致Argument list too long错误,因为它们会逐个传递给命令,而不是作为一个长参数列表传递。

如果你使用的是zsh shell,还可以考虑使用zargs命令,它可以自动处理参数列表过长的情况:


autoload -U zargs
zargs -- /path/to/search/**/*.txt -- your_command

这样能够更有效地处理大量文件的情况,避免Argument list too long错误的发生。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
Unix使用`find`命令出现`Argument list too long`错误怎么办
在Unix中,Argument list too long错误通常是由于命令行参数过多而导致的。这是因为Unix系统对命令行参数的长度有限制。为了解决这个问题,可以使用find命令的-exec选项,以
Unix
find
2023-11-26 20:47
Unix使用grep命令遇到 'grep: Argument list too long' 错误
这个错误是由于命令行参数过多导致的。Unix系统对命令行的长度有限制,当参数过多时就会触发 'Argument list too long' 错误。这通常发生在使用通配符匹配大量文件时,导致扩展后的文
Unix
grep
2023-12-11 21:19
Unix使用grep命令出现 'grep: Argument list too long' 错误怎么解决?
这个错误通常是由于命令行参数过多导致的。Unix系统对命令行参数的长度有限制,当参数过多时就会出现 'Argument list too long' 错误。这个错误的解决方法有几种:使用find命
Unix
grep
2023-12-15 19:52
Unix使用grep命令,为什么会出现 'grep: Argument list too long' 错误
这个错误是由于命令行参数过多导致的。当你使用类似 grep pattern * 的命令时,通常会展开为具体的文件列表,如果文件数量太多,就会超出系统限制。Unix系统对命令行参数长度有限制,一般是AR
Unix
grep
2023-12-11 04:02
Shell中使用grep命令出现 'grep: Argument list too long' 错误怎么解决?
当在Shell中使用grep命令时,如果要匹配的文件太多,会导致命令行参数列表太长,从而触发 'grep: Argument list too long' 错误。这通常是因为通配符展开导致参数列表过大
任意版本
Shell
2023-12-14 16:36
Shell中使用grep命令遇到“grep: Argument list too long错误
这个错误是由于命令行参数列表过长,超出了系统的限制导致的。当你在Shell中使用grep命令搜索一个大型目录时,可能会涉及到大量的文件,导致命令行参数列表变得非常长。这个问题可以通过使用find命令
Not applicable
Shell
2023-11-15 16:41
Unix使用grep命令遇到'grep: Argument list too long'错误如何解决?
这个错误通常是由于命令行参数列表太长导致的。当你使用grep命令搜索包含大量文件的目录时,参数列表可能会超过系统限制。为了解决这个问题,你可以使用find命令与grep结合,以避免参数列表过长的情况。
Unix
grep, find
2023-11-28 21:22
Linux下执行'ls'命令遇到'Argument list too long'错误怎么办
当在Linux终端执行'ls'命令时,如果当前目录中包含太多文件或者文件名过长,可能会导致'Argument list too long'错误。这是由于命令行参数过多,超过了系统限制所导致的。为了解决
Linux
Linux
2023-11-13 04:34
argument list too long错误解决
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数
Unix系统,我使用grep命令遇到 'grep: Argument list too long' 错误,该如何解决?
这个错误是由于命令行参数列表太长而导致的。当你使用grep命令并传递大量文件名或者通配符时,操作系统会尝试将所有的文件名传递给grep命令,但是参数列表的长度有限,从而引发 'Argument lis
Unix
grep, find, xargs
2023-12-04 12:47