Как разделить большие файлы на более мелкие части?

У меня большой файл (8GB для примера). Как я могу разбить его на несколько частей, скажем, на 3 равные части, а после этого как их интегрировать позже?

163
задан 7 December 2011 в 20:12

6 ответов

Существует несколько способов сделать это. Давайте начнем с основных.

Использование команд split и cat:

Позволяет сказать, что у меня есть изображение и его слишком большой (10 МБ). Я использую cat:

cat prefixFiles* > newimage.jpg

Например:

Предположим, что я внутри папки (d5)

split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces

, а затем, где изображение:

split --bytes=1M myimage.jpg new

, если изображение находится внутри каталога с изображениями, вы также можете сделать это:

split --bytes=1M images/myimage.jpg new

Если изображение находится внутри каталога / home / cyrex / images вы можете сделать это:

split --bytes=1M /home/cyrex/images/myimage.jpg new

(во всех вышеперечисленных случаях он разбивает myimage.jpg на части 1 Мб и префикс имени частей со словом new. newaa, newab, newac, newad ...)

Если вы разбиваете текстовый файл и хотите разбить его по строкам, вы можете сделать это:

[ f6]

Что будет разбивать текстовый файл в выходных файлах по 1000 строк каждый. Это еще один способ разделить файл и в основном используется для текстовых файлов, таких как журналы, sql-дампы, csv-файлы и т. Д.

Затем я объединю их

cat new* > newimage.jpg

Это в одну сторону. Вы даже можете изменить размер разделенных частей. Просто измените часть, которая говорит --bytes=1M на --bytes=1K за 1 килобайт или 1G для гига, или другое число, подобное --bytes=4K для 4KB.

Используя split

Другим способом является опция сжатия в gui Nautilus. Это дает вам возможность разделить файл или файлы, которые вы хотите сжать, в размеры меньшего мегабайта.

Еще один способ - использовать 7z

Предполагая, что у вас есть ISO-образ с именем ubuntu.iso, вы можете сделать это:

7z a -v5m -mx0 ubuntu.7z ubuntu.iso

Это создаст файлы размером 5 МБ с ubuntu.iso. [F21] - это размер тома, поэтому вы можете изменить его на 10, 12, 1, 3, а также m можно изменить на k для килобайт и т. Д .; коммутатор -mx0 сообщает 7-Zip использовать сжатие, то есть просто разделять данные на части.

Чтобы извлечь только do

7z x ubuntu.7z.001

таким образом, вы извлекаете первый файл и 7z начинает извлекать из следующих файлов по порядку. Вы также можете сделать

7z e ubuntu.7z.001

, который имеет такой же эффект здесь.

235
ответ дан 25 May 2018 в 19:39
  • 1
    Не включил rar, так как пока не является открытым исходным кодом (насколько я знаю) и не добавил Tar, так как я искал простые способы сделать раскол. – Luis Alvarado♦ 26 July 2011 в 20:14
  • 2
    Добавить gzip также - 7zip требует установки пакета iirc – Broam 27 July 2011 в 06:19
  • 3
    Для того, что я знаю, Gzip (например, tar) не имеет простой возможности разбить сжатый файл. Во всех случаях я видел их, используя команду split для «split». файл сжатия. Таким образом, это не будет команда, а команда команд для достижения единственной цели, которая может быть выполнена с помощью одного, такого как split или 7z. Для установки 7Zip (который является p7zip пакета p7zip-full) он никогда не спрашивал меня об iirc;). – Luis Alvarado♦ 27 July 2011 в 07:39
  • 4
    Добавлено разделение текстовых файлов. Забыл об этом, и сегодня это так случилось, мне нужно было разбить пару файлов CSV. Это для тех дамп, которые вам нужны для определенного количества линий. – Luis Alvarado♦ 10 September 2011 в 03:47

Используя split -b с соответствующим номером, вы можете получить три части.

Число может быть:

size=$(wc -c <"file name")
one_third=$((size/3+1))

Чтобы собрать, используйте cat

cat "file name"* > "file name"

Страницы руководства помогут заполнить детали.

9
ответ дан 25 May 2018 в 19:39

HJSplit

Является популярной бесплатной программой для разделения и рекомбинации файлов.

HJSplit для Linux - это бесплатный файловый сплиттер для Linux с полным графическим интерфейсом пользователя. HJSplit поддерживает размер файлов более 100 гигабайт, разделение, объединение / рекомбинация, контрольные суммы MD5, сравнение файлов, «запуск без установки», и программа полностью переносима.

HJSplit для Linux не требуется устанавливать и это не зависит от каких-либо специальных библиотек. Просто извлеките архив hjsplitlx.tar.gz в каталог по вашему выбору и запустите программу из файлового менеджера Linux или окна терминала. Возможно, вам придется настроить права доступа к файлам программы на «исполняемый файл».

4
ответ дан 25 May 2018 в 19:39
  • 1
    Должен ли я сказать, что файл Windows действительно работает и с Linux. – Uri Herrera 26 July 2011 в 19:54
  • 2
    Существует несколько способов разделения / присоединения файла перед тем, как перейти к такой программе. Я скорее использую мощные опции, предлагаемые linux, и для разделения / слияния файлов у него есть довольно быстрые и безопасные способы сделать это. – Luis Alvarado♦ 26 July 2011 в 20:12
  • 3
    Это безопасно, быстро, и это кросс-платформенный, который включает LINUX, это не приложение WINDOWS, которое просто запускается в Linux тоже ... – Uri Herrera 26 July 2011 в 20:26
  • 4
    Я использую HJSplit, это здорово и просто. Не нужно вводить команды и имена параметров, когда вы можете просто заполнить значения параметров в текстовых полях. – Matthew Read 26 July 2011 в 23:14
  • 5
    И быть бесплатной загрузкой делает ее хуже, потому что? и я должен сказать, что NOWHERE в OP HE ASKS ДЛЯ БЕСПЛАТНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ (что это, это бесплатно), и что вы имеете в виду, называется OPEN, есть разница, которую вы знаете? – Uri Herrera 12 September 2011 в 01:28

Разделение Гнома? http://gnome-split.org/

GNOME Split - это инструмент, который позволяет вам разделить файлы и объединить их обратно. Он написан на Java и использует пользовательский интерфейс GTK + (благодаря проекту java-gnome). Цель состоит в том, чтобы предложить собственную реализацию похожих проектов, которые могут обрабатывать несколько форматов файлов (например, Xtremsplit).

http://gnome-split.org/

4
ответ дан 25 May 2018 в 19:39

HOZ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/

От разработчика:

OZ - это то, что вы бы назвали «разделитель файлов». Его формат файла совпадает с файлом, используемым программным обеспечением «Hacha», хорошо известным сплиттером в Испании и Латинской Америке. HOZ - это с открытым исходным кодом и переносимая C реализация совместимого с Hacha сплиттера. HOZ меньше и быстрее, чем «Hacha». Кстати, я использовал «Z» isntead из «S» в «Zource», потому что «hoz» является «серпом» на испанском языке, а так как «hacha» - это испанское слово для «ax» ...

После установки вы можете использовать Hoz GUI, сбросив ghoz в терминал. Операция настолько проста, что не нуждается в объяснениях, но дополнительная информация может быть достигнута на сайте разработчика.

Удачи!

3
ответ дан 25 May 2018 в 19:39

WoodCutter

Бесплатная утилита для разделения файлов и слияния, разработанная на Java. Это приложение небольшого размера, которое позволяет пользователю разбивать файлы любого типа меньшими размерами в КБ, МБ или ГБ.

Он доступен как для Linux, так и для Windows.

WoodCutter предлагает 3 способа слияния исходных файлов. WoodCutter создает файл слияния, который может быть обработан приложением WoodCutter для присоединения всех файлов назад. Если у получателя разделенных файлов нет установленного WoodCutter, то также можно получить исходный файл, так как WoodCutter также создает пакетный файл и файл сценария оболочки для объединения файлов обратно. Пакетный файл будет использоваться в платформе Windows, а скрипт Shell будет использоваться на платформах Linux.

WoodCutter

0
ответ дан 25 May 2018 в 19:39
  • 1
    Лицензия «бесплатна». Я считаю, что инструмент свободного программного обеспечения, который находится в репозиториях, является лучшим решением. – Broam 11 September 2011 в 20:14

Другие вопросы по тегам:

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