2

Пожалуйста, предложите мне найти все zip файлы размером более 60 MB но размером менее 70 MB с помощью команды find .

3 ответа3

2
find -iname "*.zip" -size +60M -size -70M

Вы также можете использовать -o для получения дизъюнкции и \( … \) для группировки различных совпадений.

1
find -iname "*.zip" -size +$((60*1024*1024))c -size -$((70*1024*1024))c

НЕ используйте сокращения 60M и 70M как это также исключит все файлы размером более 69 МБ, включая 69,001 МБ !!!

из раздела информационной документации 2.4 Размер

-- Test: -size n[bckwMG]
    True if the file uses N units of space, rounding up.
    ...

таким образом, 69.001 округляется до 70 и, следовательно, исключается !

Прекрасный пример - find . -size -1M который будет соответствовать только файлам нулевого размера.

-1

Так же, как вы упомянули, но с -a. Это должно работать

find / -type f -size +100M -a -size -200M -exec du -sh {} \;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .