cat / Xargs / command VS for / bash / command

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有多少个叉子?请详细说明这个问题。

Tel*_*hus 4

来自UNIX 联机帮助页xargs的基本原理部分。(有趣的是,这一部分没有出现在 OS X BSD 版本中xargs,也没有出现在 GNU 版本中。)

xargs 实用程序的经典应用是与 find 实用程序结合使用,通过简单地使用 find -exec 组合来减少启动的进程数。xargs 实用程序还用于强制启动进程所需的内存上限。考虑到这一基础,本卷 POSIX.1-2008 仅选择了所需的最少功能。

在后续行动中,您询问另一个版本将有多少个分叉。吉姆已经回答了这个问题:每次迭代一个。有多少次迭代?不可能给出确切的数字,但很容易回答一般性问题。您的 url-list.txt 文件中有多少行?

还有其他一些其他考虑因素。xargs需要额外注意带有空格或其他禁止字符的文件名,并且-exec有一个选项 ( +),可将处理分组为批次。所以,并不是每个人都喜欢xargs,也许它并不适合所有情况。

请参阅这些链接: