在Linux中exec与xargs都是将前一个命令的结果作为他的标准输入,但二者还是有区别的。
-exec:
- 要结合{};来用, {}表示前面查询的结果;结束符,这是固定的写法
- 参数是一个一个传递的,传递一个参数执行一次
- 文件名有空格等特殊字符也能处理
- 传递给exce命令的长度有限制,在某些系统上-exec参数只能调用很少的shell命令
xargs:
-
要结合 |来操作,在批处理文件时,因缓冲(多线程),所以速度要快些
-
一次将参数传给命令,可以使用-n控制参数个数
-
处理特殊文件名需要采用-0来避免特殊字符(xargs -0 )
-
xargs可以保证不会因为参数过多而结束进程