Léo*_* 준영 5 c bash fork for-loop xargs
《 Linux 101 Hacks》一书的第38页建议:
cat url-list.txt | xargs wget –c
Run Code Online (Sandbox Code Playgroud)
我通常这样做:
for i in `cat url-list.txt`
do
wget -c $i
done
Run Code Online (Sandbox Code Playgroud)
除了长度以外,还有什么东西比bash的旧的for loop技术好吗?
添加
在C源代码似乎只有一个岔路口。相反,bash-combo有多少个叉子?请详细说明这个问题。
来自UNIX 联机帮助页xargs的基本原理部分。(有趣的是,这一部分没有出现在 OS X BSD 版本中xargs,也没有出现在 GNU 版本中。)
xargs 实用程序的经典应用是与 find 实用程序结合使用,通过简单地使用 find -exec 组合来减少启动的进程数。xargs 实用程序还用于强制启动进程所需的内存上限。考虑到这一基础,本卷 POSIX.1-2008 仅选择了所需的最少功能。
在后续行动中,您询问另一个版本将有多少个分叉。吉姆已经回答了这个问题:每次迭代一个。有多少次迭代?不可能给出确切的数字,但很容易回答一般性问题。您的 url-list.txt 文件中有多少行?
还有其他一些其他考虑因素。xargs需要额外注意带有空格或其他禁止字符的文件名,并且-exec有一个选项 ( +),可将处理分组为批次。所以,并不是每个人都喜欢xargs,也许它并不适合所有情况。
请参阅这些链接: