Linux xargs命令

Linux xargs命令

xargs命令在UNIX shell中用于将输入从标准输入转换为命令的参数。

换句话说,通过使用xargs,一个命令的输出被用作另一个命令的输入。

下面是你将使用的语法:

command1 | xargs command2

我们使用pipe(|)将输出传递给xargs。这将负责运行command2命令,使用command1的输出作为其参数。

我们来做一个简单的例子。您想要从目录中删除一些特定的文件。这些文件被列在一个文本文件中。

我们有3个文件:file1、file2、file3。

在todelete.txt中,我们有一个要删除的文件列表,在这个例子中是file1和file3:

Linux xargs命令

我们将通过xargs将cat todelete.txt的输出引导到rm命令。

以这种方式:

cat todelete.txt | xargs rm

这就是结果,我们列出的文件现在被删除:

Linux xargs命令

它的工作方式是xargs将运行rm 2次,对cat返回的每一行运行一次。

这是xargs最简单的用法。我们可以使用几种选择。

在我看来,最有用的方法之一是-p,尤其是在开始学习xargs时。使用此选项将使xargs打印一个确认提示符,并显示它将要执行的操作:

Linux xargs命令

-n选项允许您告诉xargs一次执行一次迭代,这样您就可以分别用-p确认它们。这里我们告诉xargs用-n1一次执行一次迭代:

Linux xargs命令

-I选项是另一个广泛使用的选项。它允许您将输出转换为占位符,然后您可以做各种事情。

其中之一是运行多个命令:

command1 | xargs -I % /bin/bash -c 'command2 %; command3 %'
Linux xargs命令
(0)
上一篇 2020年10月29日 下午11:29
下一篇 2020年10月29日 下午11:42

相关推荐

发表评论

登录后才能评论