递归查找文件大小范围

Kee*_*nan 1 find

使用命令行,如何以递归方式从特定目录开始查找所有文件,其中所有这些文件都在大小范围内?

另外列出按大小排序的结果。

mat*_*dev 5

您可以使用

find /PATH/TO/specific_directory -size +MIN -size -MAX
Run Code Online (Sandbox Code Playgroud)

有关什么MINMAX可能是什么的准确信息,请检查man find

   -size n[cwbkMG]
          File uses n units of space, rounding up.  The following suffixes can be used:

          `b'    for 512-byte blocks (this is the default if no suffix is used)

          `c'    for bytes

          `w'    for two-byte words

          `k'    for kibibytes (KiB, units of 1024 bytes)

          `M'    for mebibytes (MiB, units of 1024 * 1024 = 1048576 bytes)

          `G'    for gibibytes (GiB, units of 1024 * 1024 * 1024 = 1073741824 bytes)

          The size is simply the st_size member of the struct stat populated by the lstat (or stat) system call, rounded
          up as shown above.  In other words, it's consistent with the result you get for ls -l.  Bear in mind that  the
          `%k'  and  `%b'  format  specifiers of -printf handle sparse files differently.  The `b' suffix always denotes
          512-byte blocks and never 1024-byte blocks, which is different to the behaviour of -ls.

          The + and - prefixes signify greater than and less than, as usual; i.e., an exact size of  n  units  does  not
          match.   Bear  in mind that the size is rounded up to the next unit.  Therefore -size -1M is not equivalent to
          -size -1048576c.  The former only matches empty files, the latter matches files from 0 to 1,048,575 bytes.
Run Code Online (Sandbox Code Playgroud)

更新以满足您的新要求

find /PATH/TO/specific_directory -size +MIN -size -MAX -print0 | du --human-readable --files0-from=- | sort --human-numeric-sort
Run Code Online (Sandbox Code Playgroud)

或者,简而言之:

find /PATH/TO/specific_directory -size +MIN -size -MAX -print0 | du -h --files0-from=- | sort -h
Run Code Online (Sandbox Code Playgroud)

更新以满足您的新要求 (2)

find /PATH/TO/specific_directory -size +MIN -size -MAX -print0 | du --human-readable --bytes --files0-from=- | sort
Run Code Online (Sandbox Code Playgroud)