(参数列表太长)使用 *cat* 打开大量文件时
(Argument list too long) While opening a large list of files using *cat*
我正在尝试做类似
的事情
cat */httprobe-subdomains.out | xargs -n1 -I{} -t sh -c 'curl -k -i --write-out "\n++++++++++\nResponse Code: %{response_code}\nRedirection URL: %{redirect_url}\nContent Size: %{size_download}" "http://{}" -L >> response/http-{}.out '
响应是
-bash: /usr/bin/cat: Argument list too long
如果我尝试 cat */httprobe-subdomains.out
stderr 将是相同的 -bash: /usr/bin/cat: Argument list too long
我希望我有办法摆脱这种情况,并能够将 * 文件夹中的所有 httprobe-subdomains.out 文件都 cat 并交给 xargs 来处理。
参数列表太长 错误记录在 errno(3) (as E2BIG
) and related to some execve(2) system call done by your GNU bash shell. Use sysconf(3) 中,ARG_MAX
查询该限制。
你有几种方法:
- 重新编译您的 Linux kernel 以提高该限制。
- 使用适当的 syscalls(2) more appropriately, or write some Python script, or some GNU guile 脚本编写一些小的 C 程序,...做同样的事情
- 增加一些限制,但适当使用 setrlimit(2)(可能使用 shell
ulimit
内置)。
另请参阅 GNU bash
的文档和源代码
我正在尝试做类似
的事情cat */httprobe-subdomains.out | xargs -n1 -I{} -t sh -c 'curl -k -i --write-out "\n++++++++++\nResponse Code: %{response_code}\nRedirection URL: %{redirect_url}\nContent Size: %{size_download}" "http://{}" -L >> response/http-{}.out '
响应是
-bash: /usr/bin/cat: Argument list too long
如果我尝试 cat */httprobe-subdomains.out
stderr 将是相同的 -bash: /usr/bin/cat: Argument list too long
我希望我有办法摆脱这种情况,并能够将 * 文件夹中的所有 httprobe-subdomains.out 文件都 cat 并交给 xargs 来处理。
参数列表太长 错误记录在 errno(3) (as E2BIG
) and related to some execve(2) system call done by your GNU bash shell. Use sysconf(3) 中,ARG_MAX
查询该限制。
你有几种方法:
- 重新编译您的 Linux kernel 以提高该限制。
- 使用适当的 syscalls(2) more appropriately, or write some Python script, or some GNU guile 脚本编写一些小的 C 程序,...做同样的事情
- 增加一些限制,但适当使用 setrlimit(2)(可能使用 shell
ulimit
内置)。
另请参阅 GNU bash
的文档和源代码