Установщик Debian покажет 5 ГБ как степень 1000 (префикс SI base-10), что означает, что пользователь может сразу узнать 5 ГБ
составляет 5 * 1000 * 1000 * 1000 байт
.
Буквально вчера на моем старом тестовом компьютере был установлен Debian 8.2 Xfce для настольных ПК. На машине установлен жесткий диск емкостью 60 ГБ, который я настроил вручную для создания основных разделов подкачки объемом 2,0 ГБ
и 10,0 ГБ ext4
. Оставшееся свободное место на диске не изменится.
я установил и запустил GNOME Disks для просмотра разделов диска. Разделы, созданные установщиком Debian, имеют одинаковый размер, как показано на скриншоте ниже.
Важно использовать приложения, следующие за согласованными префиксами единиц . С другой стороны, некоторые приложения не всегда используют префикс SI base-10 для отображения размера дисков. Например, GParted следует согласованным префиксам единиц измерения, но использует единицы измерения IEC base-2 для отображения размера дисков. Некоторые инструменты командной строки могут даже предоставлять опции для использования либо префикса IEC base-2 (KiB, MiB, GiB ...), либо единицы префикса SI base-10 (kB, MB, GB ...).
Для быстрого сравнения:
swap
10,0 ГБ ext4
swap
10,0 ГБ ext4
своп
9,31 ГиБ ext4
TL; DR Пользователи Linux могут предположить, что 1 КБ
составляет 1000 байт
если не указано иное. Чтобы избежать путаницы, используйте приложения, которые следуют согласованным префиксам единиц измерения: префикс IEC base-2 использует прописные буквы K
в KiB
; Префикс SI base-10 использует строчные буквы k
в kB
.
Как упоминалось в этом ответе , вы можете использовать команду, подобную этой, чтобы получить размеры видеофайла:
ffprobe -v error -select_streams v:0 -show_entries stream=width -of default=nw=1:nk=1 input.mp4
И это даст вам результат, подобный
1280
и тогда вы сможете решить, что делать с этим видео
exiftool -q -r -if '$MIMEType =~ m{^video/} and
$ImageHeight < 1080 and
print "$Directory/$FileName\0" and 0'. |
xargs -r0 echo rm -f
(при условии GNU xargs
или совместимости ).
Будут удалены все видео, высота изображения которых меньше 1080 пикселей (, если вы рекурсивно удалитеecho
)в текущем каталоге. Это предполагает, что имена файлов (должным образом )закодированы в UTF -8 (, хотя см. параметр -charset
для других кодировок ).
Вместо передачи в xargs rm
вы также можете сохранить в файле (> list
), чтобы сначала проверить этот список:
xargs -r0a list ls -ldrS
Если всё в порядке:
xargs -r0a list rm
Или сохраните информацию в формате JSON, чтобы у вас была вся необходимая информация в легко читаемом и разборчивом формате:
exiftool -q -r -j -if '$MIMEType =~ m{^video/}' \
-ImageWidth -ImageHeight -VideoFrameRate -MIMEType. > list.json
Затем просмотрите этот список и удалите его по некоторым критериям:
PERL_UNICODE= json_xs < list.json -t none -e '
for (@{$_}) {
unlink $_->{SourceFile} if
$_->{ImageHeight} < 1080 || $_->{VideoFrameRate} < 60
}'
(обратите внимание, что я обнаружил, что для файлов FLV это было Videoframerate
вместо VideoFrameRate
, вы можете остерегаться такого рода несоответствия ).