我可以将文件从find发送到更少吗?

时间:2013-05-13 11:01:16

标签: shell pipe

我有一堆文件,需要检查所有非空的文件。我可以找到这些文件,例如通过运行

find *e* -maxdepth 1 -size +0 -print

但如果我在上面添加| less,我只会看到文件列表,而不是文件本身。

如果我手动将此文件列表作为 less less file1.e file2.e file3.e等)的参数,我得到了我想要的东西,但这种麻烦。有没有办法直接将查找的输出输出到 less

1 个答案:

答案 0 :(得分:6)

依次对每个文件运行less

find *e* -type f -maxdepth 1 -size +0 -exec less {} \;

或:

find *e* -type f -maxdepth 1 -size +0 | xargs less

在整个列表上运行less(假设文件数量不大 - xargs通常将参数的最大值限制为5000)。

请注意,添加-type f以便您不会从find返回目录。