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



我尝试使用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可以避免其他文件系统上的目录下降。

相关内容

  • 没有找到相关文章

最新更新