1
8
在新版本的findutils中,find可以执行xargs的工作(包括肾小球行为,例如只使用所需的grep进程):
使用
|
2
6
如果存在包含空格的文件名风险,请记住使用-print0标志与-0标志一起查找xargs:
|
3
4
xargs不会为每个文件启动新的进程。它把各种论点聚在一起。查看xargs的-n选项,它控制传递给子命令每次执行的参数数量。 |
4
0
我看不出来
因为我认为“太多的文件”是一个shell限制,所以它也会在for循环中失败。 我已经说过了,我总是让xargs做一些咕哝的工作,将参数列表拆分为可管理的位,这样:
它不会为每个文件启动进程,而是为每个文件组启动进程。 |
5
0
嗯,我也有同样的问题,但似乎我想出来的每件事都已经提到了。主要有两个问题。在一百万个文件目录上执行ls需要花费很长时间(在我的一个服务器上需要20分钟以上),而在一百万个文件目录上执行ls*则需要花费很长时间,并且会因“参数列表太长”错误而失败。
似乎有助于解决这两个问题。另外,如果您需要对这些文件执行更复杂的操作,您可以考虑将您的东西编写成多个线程。这里有一个用于编写cli脚本的python入门。 http://www.ibm.com/developerworks/aix/library/au-pythocli/?ca=dgr-lnxw06pythonunixtool&S_TACT=105AGX59&S_CMP=GR |
Batavia · Bash-删除大目录中的文件 1 年前 |
stackbiz · 如何在bash中将所有换行符替换为“\n” 1 年前 |
Paul · Bash wait命令忽略指定的进程ID 2 年前 |