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

Nag*_*gel 3 shell pipe

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

find *e* -maxdepth 1 -size +0 -print
Run Code Online (Sandbox Code Playgroud)

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

如果我手动将此文件列表作为参数更少(less file1.e file2.e file3.e等)我得到我想要的,但这种麻烦.有什么办法,我可以管的输出发现,以较少的直接?

Pau*_*l R 6

less依次在每个文件上运行:

find *e* -type f -maxdepth 1 -size +0 -exec less {} \;
Run Code Online (Sandbox Code Playgroud)

要么:

find *e* -type f -maxdepth 1 -size +0 | xargs less
Run Code Online (Sandbox Code Playgroud)

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

请注意,添加-type f以便不返回目录find.

  • 请注意,后者可能会多次调用"less",因此无法保证显示*整个列表*. (2认同)
  • +1听取建设性批评:-) (2认同)