LINUX.ORG.RU
ФорумAdmin

BASH Поиск файла в заданном диапазоне размеров


0

2

Нужно написать скрипт для поиска файлов заданного размера в заданном каталоге. Диапазон (мин.-макс.) размеров файлов задается пользователем в качестве первого и второго аргумента. Имя каталога задается в качестве третьего аргумента.
Удалось сочинить что-то вроде:

#!/bin/bash
file_found=`find $3 -type f -name «*.*»`
for file_found in #file_found
do
size=`du -b $file_found`
if [ $size -ge $1 ]
then
if [$size -le $2]
then
echo «$size»
fi
fi
done


Все бы хорошо, но применить унарные операции типа -ge, -le к результатам вычислений команды du нельзя, т.к. $1 $2 целые числа...Подскажите, чего не хватает?

find "${3}" -type f -size "+${1}" -size "-${2}"

?

Deleted
()

Лицоладонь

man find. В той его части, где говорится про -size, +n, -n

redgremlin ★★★★★
()
Ответ на: комментарий от anonymous

Ошибся:

for file_found in $DIR do size=`du -b $file_found| awk '{print $1}'` if

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.