проверка размера файла - PullRequest
0 голосов
/ 02 июля 2010

Я хочу проверить размер файла в сценарии оболочки.Я пытаюсь проверить, превышает ли файл в определенном каталоге 2 ГБ, т.е. 2147483648 байт.

Как я могу легко сделать это в сценарии оболочки?

У меня есть следующие 2 файла:

-rw-rw-rw-    1 op       general  1977591120 Jul 02 08:27 abc
-rw-rw-rw-    1 op       general  6263142976 Jul 01 18:39 xyz

Когда я запускаю find . -size +2047MB, я получаю оба файла в качестве вывода

./abc
./xyz

Я ожидаю только XYZ вразмер выходного файла составляет ~ 6 ГБ, а ABC немного меньше, чем ~ 2 ГБ.Что может быть причиной появления обоих файлов в выводе?

Ответы [ 5 ]

3 голосов
/ 04 июля 2010

Как найти файлы в определенном каталоге

Что говорит мужчина


- размер n [cwbkMG]

         File uses n units of space.  The following suffixes can be used:

         `b'    for 512-byte blocks (this is the default if no suffix is used)
         `c'    for bytes 
         `w'    for two-byte words
         `k'    for Kilobytes (units of 1024 bytes)
         `M'    for Megabytes (units of 1048576 bytes) 
         `G'    for Gigabytes (units of 1073741824 bytes)  


Примеры


Найти файлы размером более 2 ГБ в текущей директории, но не искать в подкаталогах find . -size +2G -maxdepth 1 Вывести его с ls -dils форматом

find . -size +2G -maxdepth 1 -ls


Другие комментарии


Я удивлен, что ваш MB не выкинул ошибку. Пример: find: invalid -size type `B'
Это может быть связано с вашим дистрибутивом.

2 голосов
/ 02 июля 2010

Сравнить:

stat -f "%z bytes   %N"  ./*     # FreeBSD stat                                         syntax highlighter fix */

find . -size +$((2*1024*1024*1024))c    #  man 1 find | less -p '-size'
1 голос
/ 02 июля 2010

Попробуйте find . -size +2047M без B. Это, похоже, работает и в подкаталогах.

0 голосов
/ 02 июля 2010

Вы пробовали давать + 2G вместо МБ?

0 голосов
/ 02 июля 2010

Я полагаю, что поиск включает в себя служебные данные файловой системы и любое неиспользуемое пространство в кластере, занимаемое файлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...