每天学点Linux命令: 管道| 与 xargs的区别

先看一个例子:

find ./ -print | xargs grep a

输出:

grep: ./: 是一个目录
./less:abc
./afile:abcde
./afile:AaAbBcB
./afile:ab
./haha:abc
./cfile:abcqw
find ./ -print | grep a

输出:

./afile
./haha

区别:管道命令是将前面命令的输出作为后面命令的标准输入 -》所以第二条命令输出了在 所有文件名中包含a的文件名

   xargs命令将标准输入作为命令的参数 -》导致的结果是:第一条命令grep a 在所有的文件中搜索包含a的文件

再举一个例子:

echo "--help"|cat   #--help
echo "--help"|xargs cat   #打印出help文档

  

原文地址:https://www.cnblogs.com/luntai/p/6476367.html