Linux命令xargs
xargs 命令的作用 xargs的作用,就是将标准输入转为命令行的参数。
$ echo "你好" | xargs echo 上面的代码将管道(|)左侧的标准输入,转换为命令行的参数 “你好”,传给第二个echo命令。
xargs命令的格式如下。
xargs [-options] [command] 实际执行的命令是command,接受xargs传来的参数。 xargs的作用在于,大多数命令(比如rm, mkdir, ls)与管道一起使用时,都需要xargs将标准输入转换为命令行参数。
$ echo "one two three" | xargs mkdir 上面代码等同于 mkdir one two three. 如果不加xargs就会报错,提示mkdir缺少操作参数。
参数 xargs有很多参数,搭配各种参数可以实现很多有用的功能。
-I参数 如果xargs要将命令行参数传递给多个命令,或需要替换命令中的字符串,可以使用-I参数。 -I指定命令行参数的替代附。
$ cat foo.txt one two three $ cat foo.txt | xargs -I {} sh -c 'echo {}; mkdir {}' one two three $ ls one two three 上面代码中,foo.txt是一个三行的文本文件。我们希望对每一项命令行参数,执行两个命令(echo和mkdir),使用-I file表示file是命令行参数的替代字符串。执行命令时,具体的参数会替代掉echo file; mkdir file里面的两个file。