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

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

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

решение1

Есть несколько способов сделать это. Начнем с основных.

Используярасколотьикоткоманды:

Допустим, у меня есть изображение, и оно слишком большое (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 МБ и к имени каждой части будет добавлено слово new. Таким образом, они будут выглядеть как newaa, newab, newac, newad...)

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

split -l 1000 book.txt new

Который разделит текстовый файл на выходные файлы по 1000 строк каждый. Это еще один способ разделить файл и в основном используется для текстовых файлов, таких как журналы, дампы SQL, файлы CSV и т. д.

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

cat new* > newimage.jpg

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

С использованиемНаутилус

Другой способ — опция сжатия в графическом интерфейсе 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

что здесь имеет тот же эффект.

решение2

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

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

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

Для повторной сборки используйте cat

cat "file name"* > "file name"

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

решение3

Гном раскололся?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/

решение4

Резчик по дереву

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

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

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

http://java-puzzle.blogspot.com/2009/07/woodcutter.html

Связанный контент