xargs命令的作用,是将标准输入转为命令行参数。
[root@localhost ~]# echo "hello word" |echo
[root@localhost ~]# echo "hello word" |xargs echo
hello word
- 上面的代码将管道左侧的标准输入,转为命令行参数
hello world
,传给第二个echo命令。 - 如果不用
xargs
直接echo
是识别不到hello world
的,因为echo
不支持读取标准输入的
目录
-n选项:指定显示几个参数
上面案例中echo "hello word"
,是给xargs
传递了两个参数,-n
选项可以指定显示几个参数。
[root@localhost ~]# echo "hello word" |xargs -n 1 echo
hello
word
[root@localhost ~]#
-d选项:指定分隔符,默认分隔符为空格
[root@localhost ~]# echo -e "hello\tword" |xargs -d "\t" echo
hello word
[root@localhost ~]#
-I选项:指定一个占位符,以便在命令中替换输入的每个参数
当使用-I
选项时,xargs
会将输入的参数逐个替换命令中的占位符,并执行命令。
语法
xargs -I {} command
其中,{}
是占位符,command
是要执行的命令。
案例一
[root@localho