xargs命令的作用就是将上一个命令的结果,作为xargs后面命令的参数来使用。
命令对比:
1、假设当前目录下有111.txt和222.txt两个文件
搜索出来的结果和ls -la命令执行结果一样。
搜索出来的结果只有111.txt信息。
1、假设当前目录下有111.txt和222.txt两个文件
find -name 111.txt | ls -la
搜索出来的结果和ls -la命令执行结果一样。
find -name 111.txt | xargs ls -la
搜索出来的结果只有111.txt信息。
第二句find语句将前面的结果作为了ls -la的参数,ls -la 111.txt。
2、在当前目录下搜索以.c结尾的文件
搜索出来的是一个叫SetMessage.c的文件。
搜索出来的是在某个.c中有SetMessage函数定义。
find . -name "*.c" | grep SetMessage
搜索出来的是一个叫SetMessage.c的文件。
find . -name "*.c" | xargs grep SetMessage
搜索出来的是在某个.c中有SetMessage函数定义。
第一个find语句是grep从管道出来的结果集中去找SetMessage的内容。
第二个find语句是将管道出来的结果作为grep的参数,比如结果里有1.c、2.c、SetMessage.c,命令就变成
grep SetMessage 1.c 2.c SetMessage.c
后来在2.c中找到SetMessage函数定义。
第二个find语句是将管道出来的结果作为grep的参数,比如结果里有1.c、2.c、SetMessage.c,命令就变成
grep SetMessage 1.c 2.c SetMessage.c
后来在2.c中找到SetMessage函数定义。