天天看点

Linux中exec与xargs的区别

       在Linux中exec与xargs都是将前一个命令的结果作为他的标准输入,但二者还是有区别的。

-exec:

  1. 要结合{};来用, {}表示前面查询的结果;结束符,这是固定的写法
  2. 参数是一个一个传递的,传递一个参数执行一次
  3. 文件名有空格等特殊字符也能处理
  4. 传递给exce命令的长度有限制,在某些系统上-exec参数只能调用很少的shell命令

xargs:

  1. 要结合 |来操作,在批处理文件时,因缓冲(多线程),所以速度要快些
  2. 一次将参数传给命令,可以使用-n控制参数个数
  3. 处理特殊文件名需要采用-0来避免特殊字符(xargs -0 )
  4. xargs可以保证不会因为参数过多而结束进程

继续阅读