2013-05-13 44 views
1

我有一堆文件,需要检查所有非空的文件。我可以找到这些文件,例如通过运行我可以将文件从find发送到less吗?

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

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

如果我手动给这个文件列表作为参数传递给less file1.e file2.e file3.e等),我得到了我想要的东西,而这种累赘。有什么办法,我可以管的输出找到直接少

回答

4

要依次对每个文件运行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返回目录。

+1

注意,后者可以调用'less'不止一次,所以不能保证目前的*整个列表*。 – Jens 2013-05-13 12:37:33

+0

@Jens:好点 - 我现在已经添加了一个资格。 – 2013-05-13 12:42:35

+1

+1倾听建设性的批评:-) – Jens 2013-05-13 13:24:01

相关问题