|
|
1
8
在findutils的较新版本中,find可以完成xargs的工作(包括glomming行为,这样就可以根据需要使用尽可能多的grep进程):
使用
|
|
|
2
6
如果存在文件名包含空格的风险,您应该记得使用-print0标志与xargs的-0标志一起查找:
|
|
|
3
4
xargs不会为每个文件启动新进程。它把论点拼凑在一起。请查看xargs的-n选项,它控制传递给每次执行子命令的参数数量。 |
|
4
0
我看不出来
由于我认为“文件太多”是shell限制,因此for循环也会失败。 话虽如此,我总是让xargs完成将参数列表拆分为可管理部分的繁重工作,如下所示:
它不会为每个文件启动进程,而是为每组文件启动进程。 |
|
|
5
0
好吧,我也有同样的问题,但似乎我想到的一切都已经提到了。主要有两个问题。执行globs是昂贵的,在一百万个文件目录上执行ls需要花费很长时间(在我的一台服务器上需要20多分钟),在一百万文件目录上进行ls*需要很长时间,并且会因“参数列表太长”错误而失败。
似乎对这两个问题都有帮助。此外,如果你需要对这些文件执行更复杂的操作,你可以考虑将你的东西编写成多个线程。这是编写CLI脚本的python入门。 http://www.ibm.com/developerworks/aix/library/au-pythocli/?ca=dgr-lnxw06pythonunixtool&S_TACT=105AGX59&S_CMP=GR |
|
|
Plankt0n · Shell,执行一个需要逐一遍历多个值的命令 1 年前 |
|
|
Fin · 如何使用bash从表中提取数据 1 年前 |
|
|
aenagy · Bash声明不喜欢带空格的值 1 年前 |
|
PkDrew · AND运算符“&”在“&tee”中的作用是什么? 1 年前 |
|
|
elbarna · 正则表达式仅排除小写字符串,但保存包含大写的字符串 1 年前 |
|
Harry · 使用“$!”获取后台作业的pid 1 年前 |
|
|
nmr · 使用来自另一个shell脚本的if语句的返回码函数 1 年前 |
|
minseong · Git sed忽略二进制文件 1 年前 |
|
|
Jesper.Lindberg · 检查参数是否包含null 1 年前 |