xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。xargs用作替换工具,读取输入数据重新格式化后输出。    
  

  [root@localhost ~]# cat ii
    a
 
    b
    d
    g
    e
    g j t 
    w
    i
    o p l

xargs格式化输出:

  [root@localhost ~]# cat ii | xargs
    a b d g e g j t w i o p l


    -n多行输出

 [root@localhost ~]# cat ii | xargs -n3
    a b d
    g e g
    j t w
    i o p
    l

  xargs结合find使用
    

用rm 删除太多的文件时候,可能得到一个错误信息: 
/bin/rm Argument list too long. 
    

用xargs去避免这个问题:

 find . -type f -name "*.log" -print0 | xargs -0 rm -f 
       -print0 和 -0 的作用:
              因为xargs本身是用空白来分割记录的,如果搜索到的文件名中含有空格(例: file 1.log),此时删除文件将会出现问题。 find命令在打印出一个文件名之后接着输出一个 NULL 字符 (' ') 而不是换行符, 然后再告诉 xargs 也用 NULL 字符来作为记录的分隔符.
       find -print 和 -print0的区别:
        -print 在每一个输出后会添加一个回车换行符,而-print0则不会。