Повредите большой файл в мелкие кусочки

du -s directory_name

Или получить человекочитаемый вывод:

du -sh directory_name

-s опция означает, что не перечислит размер для каждого подкаталога, только общий размер.

66
20.02.2011, 21:13
2 ответа

Можно использовать разделение и кошку.

Например, что-то как

$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.

(где входное имя файла foo и последним аргументом является выходной префикс). Это создаст файлы как foo.000 foo.001 ...

Та же команда с короткими опциями:

$ split -b 100k -d -a 3 foo foo

Можно также указать "-байты строки", если Вы хотите, чтобы это разделило на границах строки вместо просто точного числа байтов.

Для повторной сборки сгенерированных частей снова можно использовать, например:

$ cat foo.* > foo_2

(предполагающий то, что оболочка сортирует результаты оболочки globbing - и количество частей, не превышает системно-зависимый предел аргументов),

Можно сравнить результат через:

$ cmp foo foo_2
$ echo $?

(который должен произвести 0),

С другой стороны, можно использовать комбинацию find/sort/xargs, чтобы повторно собрать части:

$ find -maxdepth 1 -type f -name 'foo.*'  | sort | xargs cat > foo_3
80
27.01.2020, 19:32
  • 1
    Попробуйте эту команду: man split cat md5sum –  Kevin M 04.09.2010, 22:13
  • 2
    При сборке я рекомендую cat foo.{000..NNN} где NNN последняя ожидаемая часть. Тем путем Вы получаете сообщение об ошибке, если одна из частей отсутствует. Но отметьте это -d получить числовые суффиксы характерно для разделения GNU; на других платформах необходимо суметь обойтись foo.aaa, foo.aab, и т.д. –  Gilles 'SO- stop being evil' 17.10.2010, 14:16
  • 3
    И примите во внимание это, для split, КБ = 1000, K = 1024, МБ = 1000*1000, M = 1024*1024 и т.д. –  Zorawar 29.11.2012, 20:05
  • 4
    Не был Должен это ... cat > foo_3 быть ... cat >>foo_3? –  alk 08.07.2015, 15:10
  • 5
    Если Вы решаете упростить боль при помощи утилиты. rar и 7zip часто используются в создании таких разделений, легче повторно собираться, межплатформенный –  infixed 03.06.2016, 21:05

Можно также сделать это с менеджером Архива, если Вы предпочитаете GUI. Посмотрите под, 'Сохраняют-> Другие Опции-> Разделение в объемы'.

4
27.01.2020, 19:32
  • 1
    я отметил его 'командная строка', но спасибо за :) –  Stefan 05.09.2010, 22:25

Теги

Похожие вопросы