2016-07-18 1 views
-2

Я попытался найти некоторые файлы в замазки, которые старше, чем через 80 дней с использованием оболочки размер папки script.the больше, чем 100GB.and эта команда дает folowing исключениеКак найти файлы, которые больше, чем 500GB в SHELL сценарии

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

исключения: «значение Определенно для типа данных слишком велико»

+0

Вы ищете файлы размером более 100 ГБ или 500 ГБ или файлы старше 80 дней? –

+0

Я ищу файлы, возраст которых превышает 80 дней .. и размер папки превышает 500 ГБ. И внутри этой папки содержатся файлы txt. –

ответ

0

Вы можете использовать команду стата, чтобы знать все о файле. Чтобы продемонстрировать, я написал простой скрипт, который найдет файлы размером более 500 ГБ в данном каталоге.

#!/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 получить файлы]

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

Используйте -mount, чтобы избежать DESCEND каталогов на других файловых системах.

+0

в моей папке (data/local_0) содержит более 13000000 количество файлов .. так что, пожалуйста, скажите мне, как удалить его с помощью SHELL –

+0

mount didn, t work –

Смежные вопросы