Unix find -size -1G 忽略 find -size -900M 返回的文件?

Unix find -size -1G 忽略 find -size -900M 返回的文件?

我需要将目录中小于一定大小的文件压缩成 tar-gzip 文件。我尝试了这个帖子find -size并且它可以工作,但是当我将 的参数更改为 时-1G,即使文件大小低于 1GB,它也会忽略某些文件。当我提供-100M和 时,甚至-900M这些文件也没有被忽略。

有关文件的一些信息:

目录中的文件由几个中等大小的文件(1-200 MB)和数千个小文件(每个<1 MB)组成。

中等大小的文件是可执行文件(.exe 扩展名)。

这些小文件只是一些没有扩展名或带有 .lat 扩展名的随机文件。

当我提供 时-900M,结果返回所有小型和中型文件。但是,当我提供 时-1G,结果中缺少所有中型文件和许多小型文件。

问题:

关于 的使用我是否遗漏了什么-size -1G

其他(可能有用的)信息:

我在 Windows 8.1 上以 VM 形式运行 Ubuntu 15.04。

如果有人怀疑这与我正在处理的文件有关,请告诉我,我会上传所有相关文件。

我对 Unix/Linux 还不太熟悉,这是我在超级用户论坛上提出的第一个问题,所以如果我无意中违反了任何规则,请告知我。

答案1

答案可以在https://unix.stackexchange.com/questions/50763/find-size-1gb-in-centos

总结一下,-in-1G就像一个 < 符号,所以 <1G 实际上是 0G,这就是为什么它没有按照预期返回小于 1024M 的文件。

我仍然不确定为什么在我的情况下,它会返回一些小文件作为结果,所以如果有人愿意对此做出解释,欢迎这样做。

我保留这个问题(和答案),因为这个问题并非 CentOS 独有,如果不使用“CentOS”关键字搜索该问题,可能找不到上面提到的帖子。

相关内容