这两个命令有什么区别?
find . -name "*.cpp" -exec sort \;
find . -name "*.cpp" | sort
答案 0 :(得分:3)
对于按指定条件找到的每个文件,第一个命令运行sort
(不带参数)。这是(正如Mat在他的回答中指出的那样)是没用的。为每个文件运行排序的方法是说find . -name "*.cpp" -exec sort {} \;
。这就像为匹配的每个文件运行sort a.cpp; sort b/c.cpp; ...
。
第二个生成.cpp
个文件的列表,然后通过sort
管道列表,生成一个cpp文件的排序列表。
答案 1 :(得分:0)
第一个运行sort
,找不到每个.cpp
文件的任何参数。这很无用,排序将等待stdin
上的输入。
第二个对所有.cpp
文件名列表进行排序。
答案 2 :(得分:0)
第一个读取每个*.cpp
个find
个*.cpp
个文件的标准输入,并对您可能提供的每一行进行排序。
第二个对find
个文件{{1}}找到的列表进行排序。