xargs 可以把管道过来的数据作为当前命令的参数
基本结构
[其他可以生成输出流的命令] | xargs [要执行的命令]
示例
多行合并
echo "line1
line2
line3 " |xargs echo
每次处理一个单词 [-n]
echo "lineone linetow line3" |xargs -n1 echo
每次处理两个单词 [-n]
echo "lineone linetow line3" |xargs -n2 echo
使用占位符 [ -I ]
#单行的字符变换
echo "lineone linetow line3" |xargs -n1 -I% echo "*%*"
#对每行进行md5,输出原始字符串,和md5 结果
echo "lineone linetow line3" |xargs -n1 -I% sh -c 'printf "% "; printf %|md5'