У меня есть большой файл (8 ГБ для примера). Как я могу разделить его на несколько частей, скажем, 3 равные части, и после этого, как я могу интегрировать их позже?
У меня есть большой файл (8 ГБ для примера). Как я могу разделить его на несколько частей, скажем, 3 равные части, и после этого, как я могу интегрировать их позже?
Ответы:
Есть несколько способов сделать это. Давайте начнем с основных.
Допустим, у меня есть изображение, и оно слишком большое (10 МБ). Все, что я делаю, это:
split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces
и затем, чтобы собрать это вместе, я использую cat:
cat prefixFiles* > newimage.jpg
Например:
Предположим, я нахожусь в папке, где находится изображение:
split --bytes=1M myimage.jpg new
если изображение находится внутри каталога с именем images, вы также можете сделать это:
split --bytes=1M images/myimage.jpg new
Если изображение находится в каталоге / home / cyrex / images, вы можете сделать это:
split --bytes=1M /home/cyrex/images/myimage.jpg new
(Во всех случаях выше он будет разделен myimage.jpg
на 1 МБ кусков и префикс имени частей со словом новым. Так они будут выглядеть newaa
, newab
, newac
, newad
...)
Если вы разбиваете текстовый файл и хотите разбить его на строки, вы можете сделать это:
split -l 1000 book.txt new
Который будет разбивать текстовый файл на выходные файлы по 1000 строк каждый. Это еще один способ разбить файл и в основном используется для текстовых файлов, таких как журналы, дампы sql, файлы csv и т. Д.
Тогда я объединяю их
cat new* > newimage.jpg
Это один из способов. Вы даже можете изменить размер разделенных частей. Просто измените часть , которая говорит --bytes=1M
в --bytes=1K
1 килобайт или 1G для гига, или другой номер , как --bytes=4K
для 4KB штук.
Другим способом является опция сжатия в графическом интерфейсе Nautilus. Это дает вам возможность разбить файл или файлы, которые вы хотите сжать, на меньшие размеры в мегабайтах. Это просто и легко.
Предполагая, что у вас есть ISO-образ, ubuntu.iso
вы можете сделать это:
7z a -v5m -mx0 ubuntu.7z ubuntu.iso
Это создаст файлы размером 5 МБ из ubuntu.iso
. Размер -v5m
тома, поэтому вы можете изменить его на 10, 12, 1, 3, а также m можно изменить на k для килобайтов и т. Д .; -mx0
переключатель говорит 7-Zip не использовать без сжатия, то есть, просто разделить данные на части.
Чтобы извлечь просто сделать
7z x ubuntu.7z.001
таким образом вы извлекаете первый файл, и 7z начинает извлекать из следующих файлов по порядку. Вы также можете сделать
7z e ubuntu.7z.001
который имеет такой же эффект здесь.
Используя split -b
с соответствующим номером, вы можете получить три штуки.
Номер может быть:
size=$(wc -c <"file name")
one_third=$((size/3+1))
Для сборки используйте cat
cat "file name"* > "file name"
Страницы руководства помогут заполнить детали.
split --number
чтобы split
подсчитать количество файлов для вас: askubuntu.com/questions/54579/…
Это популярная бесплатная программа для разделения и рекомбинации файлов. Программа доступна на Windows, Linux и множестве других платформ.
HJSplit для Linux - это бесплатный разветвитель файлов для Linux с полностью графическим пользовательским интерфейсом. HJSplit поддерживает файлы размером более 100 гигабайт, Split, Join / Recombine, контрольные суммы MD5, сравнение файлов, «запуск без установки», и программа полностью переносима.
HJSplit для Linux не нужно устанавливать и не зависит от каких-либо специальных библиотек. Просто распакуйте архив hjsplitlx.tar.gz в каталог по вашему выбору и запустите программу из файлового менеджера Linux или из окна терминала. Возможно, вам придется настроить права доступа к файлу программы на «исполняемый файл».
Гном раскололся? http://gnome-split.org/
GNOME Split - это инструмент, который позволяет разбивать файлы и объединять их обратно. Он написан на Java и использует пользовательский интерфейс GTK + (благодаря проекту java-gnome). Цель состоит в том, чтобы предложить собственную реализацию похожих проектов, которые могут обрабатывать несколько форматов файлов (например, Xtremsplit).
http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/
HOZ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/
От разработчика:
OZ - это то, что вы бы назвали «разделителем файлов». Формат файла такой же, как и в программном обеспечении «Hacha», хорошо известном в Испании и Латинской Америке. HOZ - это портативная C-реализация с открытым исходным кодом, совместимая с Hacha.
ХОЗ меньше и быстрее чем "хача".
Кстати, я использовал вместо Z букву «S» в «Zource», потому что «hoz» - это «серп» по-испански, а «hacha» - испанское слово «ax» ...
После установки вы можете использовать Hoz GUI, опустив ghoz
в терминал. Операция настолько проста, что не нуждается в объяснении, но дополнительную информацию можно найти на сайте разработчика.
Удачи!
Бесплатная утилита для разделения и объединения файлов, разработанная на Java. Это приложение небольшого размера, которое позволяет пользователю разделить любой тип файла на меньшие размеры в КБ, МБ или ГБ.
Он доступен как для Linux, так и для Windows.
WoodCutter предлагает 3 способа объединения исходных файлов. WoodCutter создает файл слияния, который может быть обработан приложением WoodCutter для объединения всех файлов обратно. В случае, если в приемнике разделенных файлов не установлен WoodCutter, можно также получить исходный файл, поскольку WoodCutter также создает командный файл и файл сценария оболочки для объединения файлов. Пакетный файл будет использоваться на платформе Windows, а сценарий Shell будет использоваться на платформах Linux.
split --number
Это хороший вариант для создания N файлов с одинаковым размером, за исключением последнего, который может быть больше из-за неделимости. Например:
printf '0123456789' > f.txt
split -d --number 2 f.txt f.txt.part.
tail f.txt.part.*
дает:
==> f.txt.part.00 <==
01234
==> f.txt.part.01 <==
56789
а также:
split -d --number 3 f.txt f.txt.part.
tail f.txt.part.*
дает:
==> f.txt.part.00 <==
012
==> f.txt.part.01 <==
345
==> f.txt.part.02 <==
6789
По сравнению с -b
явным расчетом размера +, который был упомянут по адресу: https://askubuntu.com/a/54584/52975 , последний файл может быть почти в 2 раза больше, чем предыдущие, что иногда является недостатком этой опции. Однако во многих случаях это удобнее, так как вам не нужно самостоятельно вычислять размер.
Равное количество строк было задано по адресу: https://stackoverflow.com/questions/2016894/how-to-split-a-large-text-file-into-smaller-files-with-equal-number-of-lines
Протестировано в split
2.28, Ubuntu 18.04.