Linux склеить два бинарных файла

Как разрезать и соединять файлы в командной строке Linux

Оригинал: How To Split And Combine Files From Command Line In Linux
Автор: SK
Дата публикации: 2 мая 2017 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2017 г.

На моем ноутбуке хранится множество обучающих видео по Linux. Я хотел бы загрузить их все на Google Drive, чтобы иметь резервные копии. Проблема в том, что эти видеоролики размером более 1 гигабайта, что плохо подходит для загрузки на диск Google. Несмотря на то, что Google Drive поддерживает загрузку файлов размером до 5 Тб, на практике для загрузки больших файлов требуется слишком много времени. Рассматривая эту проблему, я понял, что было бы намного лучше, если бы я мог разделить эти файлы на меньший размер и загружать их по одному. Затем я могу загрузить все части файла и объединить их все, когда захочу. Есть простая утилита командной строки, называемая «split», которая используется для разделения больших файлов на несколько файлов меньшего размера, и вы можете позже соединить все эти части в один файл.

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

Разрезание файлов в командной строке

Давайте посмотрим на размер этого видеоролика.

Как вы можете видеть, размер видео 1,1 Гб, что очень много для загрузки на мой диск google. С моей скоростью интернет-соединения это займет более 30 минут. Я не хочу ждать так долго. Поэтому я хочу разделить файл на несколько частей, например по 100 Мб, чтобы потом быстро загрузить их одну за одной.

Для этого используем команду:

Команда создаст файлы ls.aa, ls.ab, ls.ac.. и так далее, размером по 100 Мб.

Посмотрим, что теперь у нас в директории:

Файл Linux Security.mp4 разрезан на части с именами ls.aa, ls.ab …. ls.ak, каждая по 100 Мб.
Теперь намного проще отправить их в качестве вложения в электронное письмо.

Объединение файлов в командной строке

Перейдем в директорию, где лежат все части нашего файла и объединим их в один файл.

Читайте также:  Usbasp драйвер windows 10 не видит

Здесь Linux_security.mp4 — имя собираемого файла. Два знака вопроса (??) означают искать в имени файла любое расширение из двух символов. Для упрощения часть имени ls. соответствует всем названиям файлов ls.aa, ls.ab . которые объединяются в один файл.
Не забудьте указать правильное расширение при объединении частей. В случае, если вы хотите отправить все файлы по почте своему другу, сообщите ему правильное расширение файлов, которые вы отправили. Он должен использовать одно и то же расширение файла в выходном файле при их объединении.
Если вы не укажете в команде split никаких аргументов, файл будет разбит на несколько частей с именами вида x **. По умолчанию каждый файл будет содержать 1000 строк. Здесь ** — это двухсимвольный суффикс, который по умолчанию добавляется к каждому имени файла.

Разделим тот же файл с помощью команды split без указания каких-либо аргументов, как показано ниже.

Эта команда разрежет файл Linux Security.mp4 на множество файлов с именами вида x**.

Каждый файл содержит 1000 строк. Вы можете убедиться в этом с помощью команды wc (word count):

Объединить все эти части в один файл можно с помощью команды:

Приведенная выше команда объединит все файлы в один с именем ls.mp4.

Заключение

Конечно, имеется множество утилит, как консольных, так и графических, которые позволяют разрезать и объединять файлы в Linux. Однако «split» — это встроенная команда, которая входит в состав ядра Linux. Поэтому вам не понадобится устаналивать никаких дополнительных программ. К тому же эта команда работает очень быстро.

Немного подробнее о команде split вы можете узнать из следующей статьи: «Изучаем команды linux: split»

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

склеить два файла

Модератор: /dev/random

склеить два файла

Сообщение susik » 14.01.2007 22:08

Re: склеить два файла

Сообщение Pavel Ghost » 14.01.2007 22:19

Смотря каких файлов — текстовых или двоичных.

Для первых — самый простой вариант:
cat file1.txt file2.txt > result_file.txt

Re: склеить два файла

Сообщение elide » 14.01.2007 22:33

Re: склеить два файла

Сообщение BaBL » 15.01.2007 01:46

Re: склеить два файла

Сообщение Mellon » 15.01.2007 03:22

Re: склеить два файла

Сообщение d_n_k » 15.01.2007 10:53

хочешь менять структуру файловой системы?

тогда читай маны по утилитам к твоей файловой системе.

а так man cat man dd

Re: склеить два файла

Сообщение susik » 15.01.2007 14:50

Смотря каких файлов — текстовых или двоичных.

Для первых — самый простой вариант:
cat file1.txt file2.txt > result_file.txt

Re: склеить два файла

Сообщение elide » 15.01.2007 18:29

Читайте также:  Как увеличить приоритет процесса windows 10

Re: склеить два файла

Сообщение Slimy » 15.01.2007 19:23

хочешь менять структуру файловой системы?

тогда читай маны по утилитам к твоей файловой системе.

а так man cat man dd

Re: склеить два файла

Сообщение susik » 16.01.2007 09:08

Ну у меня была задача такая, я ее решил правда немного подругому, но все равно стало интересно как склеить два файла.
Значит в первом файле, назовем его допустим file1.txt, следующая информация:
mv ‘Track 1 Albom 1.mp3.HWFIUFG09345034THEEGH.test’
mv ‘Track 2 Albom 1.mp3.KJDHF39048UT930GUJDJFF.test
mv ‘Track 2 Albom 1.mp3.JISH904JF.test’

А во втором файле
‘Track 1 Albom 1.mp3’
‘Track 2 Albom 1.mp3’
‘Track 3Albom 1.mp3’

А результат в третьем файле должен быть:

Источник

Справочная информация

про свой опыт решения некоторых проблем и использования ряда возможностей ОС и приложений

понедельник, 6 июня 2016 г.

Разрезать и склеить файл в Linux без терминала. Split и Join с GUI

Необходимость в использовании инструментов разрезания и склейки файлов в Linux у меня ранее не возникало. Для передачи больших файлов с целью обмена мной успешно использовались файлообменные ресурсы, например, те же depositfiles или filefactory, предоставляющие время хранения не менее 90 суток. В связи с тем, что depositfiles предоставил свой менеджер файлов, с помощью которого успешно осуществлялась операция Upload, этот ресурс и использовался чаще всего.

Радикальным образом ситуация изменилась буквально за последние 2 дня. Загруженный мной для обмена файл был в течение дня удалён. Так как администрация этого сервиса вправе удалить любой файл без объяснения причин, то пришлось вернуться к широко использовавшемуся мной ранее файлообменнику Sendspace. А так как этот ресурс позволяет передать файлы не более 300 Мб, то у меня возникла проблема передачи файлов размером в 1,5 Гб.

Другой возможной необходимостью разбить и склеить файл является принципиальная невозможность записать на флэшку с файловой системой FAT32 файл размером более 4 Гб, что обусловлено свойствами самой файловой системы FAT32.

Поиск способов в Linux привёл в инструкции:

Разбить на кусочки по 10 Гб, можно такой командой:

split -b 10G big_file.ext
при этом имена файлов будут типа: xaa, xab, xac..

Далее копируем их к себе

Склеиваем в Linux:

cat xaa xab xac > big_file.ext

Склеиваем в Windows:
copy /B xaa+xab+xac big_file.ext

При всём уважении к терминалу хотелось бы чего-то более привычного, тем более, что мои респонденты, несмотря на их работу в Linux, вряд ли были бы в восторге от необходимости склеивать переданные им файлы в терминале.

Поискав в центре приложений своего Linux Mint по запросу в строке поиска split было найдено 2 варианта решения проблемы.

1 вариант – Gmone Split

Так как в Linux Mint ПО унифицировано для различных оболочек, то данное ПО присутствует и для Cinnamon, и для MATE и XFCE. Естественно, что данное ПО должно быть установлено как у Вас, так и тех, кому Вы будете передавать обработанные этим ПО файлы. После установки в меню программ появляется отображение, например,

Читайте также:  Linux как узнать процесс занимающий порт

При запуске программы отображается мастер (другими словами – Wizard), который будет «руководить» Вашими дальнейшими действиями.

Split a file – разрезать файл

Merge several files – склеить несколько файлов

Слева отображается полное меню, в котором выполняемая операция подсвечивается выделением:

В нижней части справа отображены кнопки дальнейших действий.

Если действие указано, то кнопка «Продолжить» становится активной. Если нажать «Отмена», то доступно главное окно программы, до этого «прикрытое» мастером.

В окне выбора файлов укажите файл, а затем способ его разбиения:

По умолчанию предлагается указать, на сколько частей разбивать выбранный файл. При этом размер каждого фрагмента будет определён программой самостоятельно. Но если нажать на стрелочку справа, то отобразятся и другие варианты:

В поле слева необходимо указать количество этих самых частей или размер в байтах, Кб, Мб, Гб и т.д.

Далее предлагается выбрать рабочий алгоритм:

Признаться откровенно, мной был испробован вариант только «Общий». Про назначение других вариантов ничего не могу сказать.

Перед самим процессом предлагается проверить выбранные настройки и при необходимости внести изменения, если где-то была допущена ошибка (размер отдельного фрагмента или способа разбиения):

Процесс разбиения файла отображается в графическом режиме:

На выходе Вы получите необходимое количество фрагментов файла с расширениями .001, .002, .003 .

Процесс склейки производится аналогично. Выбрать операцию «Merge several files» и указать файл с расширением .001

На выходе получится склеенный файл.

2 вариант – HJSplit

Этот вариант найден со ссылки от консольной утилиты LXSplit, в описании которой указано на её совместимость с программной HJSplit

Само собой разумеется, что Ваши респонденты также должны установить у себя такую же программу.

Пользователи Linux обращаются к секции Линукса и скачивают архив hjsplitlx.tar.gz В составе архива имеется сама программа и описание в виде файла txt «что это такое и с чем его едят».

Собственно программой является файл hjsplit. Проверьте, имеется ли у Вас указание на необходимость запуска этого файла как программы:

Интерфейс интуитивно понятен. Split – разрезать, Join – склеить. Сравнением (Compare) и контрольными суммами (Checksum) Вы вряд ли будете заниматься.

Нажимаете «Split», указываете файл, размер каждого фрагмента и нажимаете кнопку «Start».

Процесс отображается графическим индикатором, а по завершении выводится информационное сообщение.

Процесс склейки производится аналогично. Запускается программа, выбирается «Join», указывается файл с расширением .001 и нажимается кнопка «Start».

Источник

Оцените статью