如何在SHELL脚本中查找大于500GB的文件

如何在SHELL脚本中查找大于500GB的文件,shell,putty,Shell,Putty,我尝试使用shell脚本在putty中搜索一些超过80天的文件。文件夹大小大于100GB。此命令导致以下异常 find /data/local_0/ -type f -name "*.txt" -mtime +80 异常:为数据类型定义的值太大您可以使用stat命令了解文件的所有信息。为了演示,我编写了一个简单的脚本,可以在给定的目录中找到大小大于500GB的文件 #!/bin/bash if [ $# -lt 1 ]; then echo "[USAGE] : $0 &

我尝试使用shell脚本在putty中搜索一些超过80天的文件。文件夹大小大于100GB。此命令导致以下异常

        find /data/local_0/ -type f -name "*.txt" -mtime +80

异常:为数据类型定义的值太大

您可以使用stat命令了解文件的所有信息。为了演示,我编写了一个简单的脚本,可以在给定的目录中找到大小大于500GB的文件

#!/bin/bash
if [ $# -lt 1 ]; then
   echo "[USAGE] : $0 <path>" 
   exit 1
fi
echo "Files having size more than 500GB"
count=0
for i in $1/*
do
     #get the size, it will be in byte nd convert it to GB
     size=$(stat -c %s $i)
     size=`expr $size / 1024 \* 1024`;
     if [ $size -ge 500 ]; then
        count=`expr $count + 1`
        echo ">>> $i"
     fi
done

if [ $count -eq 0 ] ; then
     echo "No files with size more than 500"
fi

exit 0
您可以扩展它以递归方式遍历所有目录[使用ls-R获取文件]

find /data/local_0 -mount -type f -name "*.txt" -mtime +80 -size +500G

使用-mount可避免降级其他文件系统上的目录。

是否搜索大于100GB或500GB的文件或大于80天的文件?我正在搜索大于80天的文件..并且文件夹大小大于500GB。此文件夹中包含txt文件在我的文件夹数据/local\u 0中包含超过13000000个文件..那么你能告诉我如何使用SHELL删除它吗