linux shell-xargs

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'

你可能感兴趣的:(linux,脚本)