`xargs`命令的快速指南,用于传递一个命令的输出并将其作为另一个命令的参数
xargs 命令在UNIX shell中用于将标准输入的输入转化为一个命令的参数。
换句话说,通过使用xargs ,一条命令的输出被用作另一条命令的输入。
下面是你将使用的语法。
command1 | xargs command2
我们使用管道(| )将输出传给xargs 。这将负责运行command2 ,使用command1 的输出作为其参数(s)。
让我们做一个简单的例子。你想从一个目录中删除一些特定的文件。这些文件被列在一个文本文件中。
我们有3个文件。file1,file2,file3 。
在todelete.txt ,我们有一个我们想要删除的文件的列表,在这个例子中,file1 和file3 。

我们将通过xargs ,把cat todelete.txt 的输出引向rm 命令。
以这种方式。
cat todelete.txt | xargs rm
这就是结果,我们列出的文件现在被删除了。

它的工作方式是:xargs 将运行rm 2次,每行由cat 返回一次。
这是对xargs 最简单的用法。我们可以使用几个选项。
在我看来,特别是在开始学习xargs 时,最有用的一个是-p 。使用这个选项将使xargs 打印一个确认提示,并说明它要采取的行动。

-n 选项让你告诉xargs 一次执行一个迭代,所以你可以用-p 单独确认它们。这里我们用-n1 告诉xargs 一次执行一个迭代。

-I 选项是另一个广泛使用的选项。它允许你把输出放到一个占位符中,然后你可以做各种事情。
其中之一是运行多个命令。
command1 | xargs -I % /bin/bash -c 'command2 %; command3 %'

你可以将我上面使用的
%符号与其他东西交换,它是一个变量
xargs 命令可以在Linux、macOS、WSL以及任何你有UNIX环境的地方使用