Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 检查文件大小_Bash_Find - Fatal编程技术网

Bash 检查文件大小

Bash 检查文件大小,bash,find,Bash,Find,我想检查shell脚本中的文件大小。我正在尝试检查特定目录中的文件是否超过2 gb,即2147483648字节 如何在shell脚本中轻松地执行此操作 我有以下两个文件: -rw-rw-rw- 1 op general 1977591120 Jul 02 08:27 abc -rw-rw-rw- 1 op general 6263142976 Jul 01 18:39 xyz 我预计在输出大小上只有xyz,它是~6gb,abc略小于~2gb。两个文件都出现

我想检查shell脚本中的文件大小。我正在尝试检查特定目录中的文件是否超过2 gb,即2147483648字节

如何在shell脚本中轻松地执行此操作

我有以下两个文件:

-rw-rw-rw- 1 op general 1977591120 Jul 02 08:27 abc -rw-rw-rw- 1 op general 6263142976 Jul 01 18:39 xyz
我预计在输出大小上只有xyz,它是~6gb,abc略小于~2gb。两个文件都出现在输出中的原因是什么?

我的猜测是find包括文件系统开销和文件占用的集群中任何未使用的空间。

我的猜测是find包括文件系统开销和文件占用的集群中任何未使用的空间。

尝试
find-大小+2047M,不带B。这似乎在子目录中也适用。

尝试
查找-尺寸+2047M,不带B。这似乎也适用于子目录。

比较:

stat -f "%z bytes   %N"  ./*     # FreeBSD stat                                         syntax highlighter fix */

find . -size +$((2*1024*1024*1024))c    #  man 1 find | less -p '-size'
比较:

stat -f "%z bytes   %N"  ./*     # FreeBSD stat                                         syntax highlighter fix */

find . -size +$((2*1024*1024*1024))c    #  man 1 find | less -p '-size'

你试过用+2G代替MB吗?

你试过用+2G代替MB吗?

如何在特定目录中查找文件

男人说什么
-尺寸n[cwbkMG]

         File uses n units of space.  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 Kilobytes (units of 1024 bytes)
         `M'    for Megabytes (units of 1048576 bytes) 
         `G'    for Gigabytes (units of 1073741824 bytes)  

例子
在当前目录中查找大于2GB的文件,但不要在子目录中查找
find-尺寸+2G-最大深度1

ls-dils
格式输出
find-尺寸+2G-最大深度1-ls


其他评论
我很惊讶你的
MB
没有抛出错误。示例:
find:invalid-size类型“B”

这可能是由于您的发行版。

如何在特定目录中查找文件

男人说什么
-尺寸n[cwbkMG]

         File uses n units of space.  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 Kilobytes (units of 1024 bytes)
         `M'    for Megabytes (units of 1048576 bytes) 
         `G'    for Gigabytes (units of 1073741824 bytes)  

例子
在当前目录中查找大于2GB的文件,但不要在子目录中查找
find-尺寸+2G-最大深度1

ls-dils
格式输出
find-尺寸+2G-最大深度1-ls


其他评论
我很惊讶你的
MB
没有抛出错误。示例:
find:invalid-size类型“B”


这可能是由于您的发行版造成的。

您尝试过“查找大小2047M”吗?您尝试过“查找大小2047M”吗?您使用的是什么平台和文件系统?您使用的是什么平台和文件系统?这有助于查找目录中的文件是否更大。如果知道要检查的文件,如何在shell脚本中检查该文件的大小?这有助于查找目录中的文件是否更大。如果我知道要检查的文件,如何在shell脚本中检查该文件的大小?