如何在查找输出中排除目录

如何在查找输出中排除目录

搜索起来出奇的困难,因为所有结果都是在搜索中排除目录。

我只是想从输出中排除目录。例如:

>find ./ -size +0
./directory
./directory/afileinthere.txt

我想要这个输出:

>find ./ -size +0
./directory/afileinthere.txt

我怎样才能实现这一点?

答案1

另一个答案指向-type操作数,但如何排除目录。你需要!,它是这样的:

  • -type d仅匹配目录。
  • ! -type d匹配除目录之外的所有内容。

所以你的命令应该是:

find . ! -type d -size +0

答案2

您应该看看手册中的 find 的 -type 选项:

   -type c
          File is of type c:

          b      block (buffered) special

          c      character (unbuffered) special

          d      directory

          p      named pipe (FIFO)

          f      regular file

          l      symbolic link; this is never true if the -L option or the -fol‐
                 low  option  is  in effect, unless the symbolic link is broken.
                 If you want to search for symbolic links when -L is in  effect,
                 use -xtype.

          s      socket

          D      door (Solaris)

相关内容