【背景】
xargs全称是transform arguments,意为转换参数,它将标准输入转换为命令行参数。因为linux命令行中经常要使用到管道符连接不同的命令,但是有些命令不支持标准输入,此时就需要使用xargs将标准输入转换为参数。
【命令格式】
1.将标准输入转换成命令行参数
2.控制每行的参数数量
3.指定定界符
假设命令cmd需要固定使用-a和-b选项,
xargs全称是transform arguments,意为转换参数,它将标准输入转换为命令行参数。因为linux命令行中经常要使用到管道符连接不同的命令,但是有些命令不支持标准输入,此时就需要使用xargs将标准输入转换为参数。
【命令格式】
stdin_input | xargs [option] cmd
可见,xargs一般是通过管道符接受标准输入并将其转换为命令行参数传递给cmd。
1.将标准输入转换成命令行参数
echo arg1 arg2 arg3 | xargs echo
arg1 arg2 arg3
上述例子将前一个echo输出的字符串转换为命令行参数传递给第二个echo。
2.控制每行的参数数量
echo arg1 arg2 arg3 | xargs -n 2 echo
arg1 arg2
arg3
上述例子基本等同于第一个例子,但不同的是使用了-n选项加一个数字限定了每次最多传递给echo变量的命令行参数。
3.指定定界符
echo arg1:arg2:arg3 | xargs -d ':' echo
arg1 arg2 arg3
xargs将空格作为默认的定界符,但可以用-d选项指定定界符。
假设命令cmd需要固定使用-a和-b选项,