Linux разбить файл на части

Обновлено: 02.07.2024

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » 9 полезных примеров команды Split в Linux

9 полезных примеров команды Split в Linux

К оманда split в Linux позволяет разбивать файлы на несколько файлов. Есть несколько способов настроить параметры для вашего приложения. Мы покажем вам несколько примеров команды split, которые помогут вам понять ее использование.

Обратите внимание, что мы не будем отображать вывод напрямую в этих примерах из-за больших размеров файлов. Мы будем использовать команды ll и wc для выделения изменений файла.

Мы советуем вам быстро взглянуть на команду wc, чтобы понять вывод примеров команды split.

Примеры команды Split в Linux

Синтаксис команды Split:

Давайте посмотрим, как использовать его для разделения файлов в Linux.

1. Разделите файлы на несколько файлов

Давайте разделим пример файла журнала:

Если вы используете команду ls, вы можете увидеть несколько новых файлов в вашем каталоге.

Вы можете использовать wc для быстрой проверки количества строк после разделения.

Помните, что ранее мы видели, что наш исходный файл содержал 17 170 строк. Таким образом, мы можем видеть, что наша программа создала как и ожидалось, 18 новых файлов. 17 из них заполнены 1000 строками в каждой, а последняя имеет оставшиеся 170 строк.

Вы можете увидеть, что происходит с вашей командой на дисплее:

2. Разделите файлы на несколько файлов с определенными номерами строк

Мы понимаем, что вам может не понравиться, что файлы разбиты на файлы по 1000 строк. Вы можете изменить это поведение с помощью опции -l.

Теперь вы можете указать, сколько строк вы хотите в каждом из новых файлов.

Как вы можете догадаться, теперь разделенные файлы имеют по 500 строк каждая, кроме последней.

Теперь у вас есть намного больше файлов, но с половиной строк в каждом.

3. Разделение файлов на n файлов

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

Теперь вы можете видеть, что есть 15 новых файлов.

Читать Временные метки файлов в Linux: atime, mtime, ctime. Разъяснения

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

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

Вот разделенные файлы с именами, начинающимися с данного префикса.

5. Разделите и укажите длину суффикса

Разделение имеет длину суффикса по умолчанию 2 [aa, ab и т. д.]. Это изменится автоматически при увеличении количества файлов, но если вы хотите изменить его вручную, это тоже возможно. Допустим, вы хотите, чтобы наши файлы были названы как-то вроде AndreyExSeparatedLogFiles.log_aaaab.

Как ты можешь это сделать? Опция -a позволяет нам указать длину суффикса.

И вот разделенные файлы:

6. Разделить с помощью числового суффикса заказа

До этого момента вы видели, что ваши файлы разделены с использованием различных буквенных комбинаций. Лично нам гораздо проще различать файлы по номерам.

Давайте сохраним длину суффикса из предыдущего примера, но изменим алфавитную организацию на числовую с помощью опции -d.

Так что теперь у вас будут разделенные файлы с числовыми значениями.

7. Добавьте шестнадцатеричные суффиксы для разделения файлов

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

Мы использовали опцию -x для создания шестнадцатеричного суффикса. Затем разделили наш файл на 50 кусков и дали суффиксу длину 6.

И вот результат вышеупомянутой команды:

8. Разделите файлы на несколько файлов определенного размера

Синтаксис может стать немного сложнее, так как мы продолжаем добавлять опции. Итак, мы объясним, как работает команда, прежде чем показывать пример.

Может показаться, что многое происходит, но это не так сложно, когда разбиваешь это. Вы указали исходный файл, наш префикс имени файла назначения, числовой суффикс и разделение по размеру файла 128 КБ.

Вот разделенные файлы:

Вы можете проверить результат с помощью команды wc.

9. Разбивка файлов на несколько с определенным размером файла

Если вы хотите разбить файлы примерно на один и тот же размер, но сохранить структуру строк , это может быть лучшим выбором для вас. С помощью -C, вы можете указать максимальный размер. Затем программа автоматически разбивает файлы на основе полных строк.

В выводе вы можете видеть, что первый разделенный файл имеет размер около 1 МБ, тогда как остальная часть файла находится во втором файле.

Бонусный совет: воссоединение разделенных файлов

Это не команда split, но она может быть полезна для новых пользователей.

Как видите, наш воссозданный файл имеет тот же размер, что и наш оригинал.

Наше форматирование (включая количество строк) сохраняется в созданном файле.

Если вы новичок в Linux, мы надеемся, что это руководство помогло вам понять команду split. Если вы более опытны, расскажите нам ваш любимый способ использовать разделение в комментариях ниже!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


вторник, 7 мая 2013 г.

Изучаем команды linux: split

Часто используемые опции

-b, --bytes=SIZE
Эта опция задает размер выводимых файлов.
-d, --numeric-suffixes
использовать цифровые суффиксы вместо алфавитных
-n, --number=CHUNKS
задает количество выводимых файлов

Разрезание файла на части заданного размера

Если не используется опция suffix, по умолчанию команда split будет разделять файлы на части, название которых будет начинаться с x, за которым будут следовать еще два символа в алфавитном порядке. Например, первый файл будет называться xaa, за которым будет идти xab, xac, а последний файл будет называться xzz. Это значит, что в данном случае вы можете разбить свой файл не более чем на 676 частей (26x26). Возьмем для примера файл размером 10 Мб:

Теперь мы можем разбить этот файл на части размером 1 Мб с помощью опции -b:

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

Также может возникнуть ситуация, когда нам нужно разбить файл на определенное количество частей. В приведенном ниже примере мы разрезаем наш файл размером 10 Мб на максимум три части с помощью опции -n:

Использование числовых суффиксов

Команда split позволяет создавать файлы с числовыми суффиксами вместо символьных. Приведенная ниже команда создает файл для каждого символа в строке "linuxcareer.com". Секрет заключается в том, что мы разрезаем файл, задавая размер части в байтах, а 1 байт эквивалентен 1 символу. Также вместо символьных мы используем числовые суффиксы:

Восстановление исходного файла

Разрезать файл легко, но как собрать его обратно? Допустим, у нас есть какой-либо ISO-образ, и мы хотим разделить его пополам.

Теперь мы разрезаем образ пополам с помощью опции -n:

Мы можем восстановить исходный файл ubuntu-12.04.1-server-amd64.iso, используя команду cat и оператор перенаправления STDOUT:

Чтобы убедиться, что файл restored-ubuntu-12.04.1-server-amd64.iso восстановлен корректно и представляет собой точную копию оригинального файла ubuntu-12.04.1-server-amd64.iso, мы используем команду md5sum для создания контрольной суммы обоих файлов:

Как вы можете видеть, восстановленный файл является точной копией исходного, так как их контрольные суммы совпадают.

Разрезание архивов tar на лету

Теперь, когда мы ознакомились с основами, рассмотрим более сложный пример.
В приведенном ниже примере мы архивируем директорию /tmp/Software. Однако вместо создания архива мы разрежем его на лету с помощью команды split.

Как вы можете видеть, наш архив диретории /tmp/Software разрезан на части с максимальным размером 2 Мб. Далее мы восстановим исходную директорию:

Заключение

Как вы можете видеть, при использовании операционной системы GNU/Linux вы ограничены только своим воображением и навыками, а не размером вашего кошелька. В данной статье описаны только основы работы с командой split. Узнать больше вы можете с помощью команды:

У меня есть большой (по количеству строк) текстовый файл, который я хотел бы разделить на файлы меньшего размера, также по количеству строк. Поэтому, если в моем файле около 2 млн строк, я хотел бы разделить его на 10 файлов, содержащих 200 тыс. строк, или 100 файлов, содержащих 20 тыс. строк (плюс один файл с остатком; равномерность деление не имеет значения).

Для этого можно написать скрипт на PHP или Python, но если вы используете Bash, то вы можете воспользоваться готовой утилитой split, которая умеет разбивать как текстовые, так и бинарные файлы на части указанного размера. Если это текстовый файл, то можно разбить большой файл на файлы равного размера с определённым количеством строк. Эта статья расскажет как пользоваться командой split.

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

Чтобы разбить файл по числу строк, выполните команду вида:


Как разбить файлы на тома определённого размера

Если вы хотите разбить файлы по размеру, то используйте опцию -C (файлы будут разбиты по строкам, разрывов строк не будет)

Команда split обычно работает со строками ввода (то есть из текстового файла). Но если мы используем параметр -b, мы заставляем split рассматривать файл как двоичный ввод, а строки игнорируются. Мы можем указать размер файлов, которые мы хотим, вместе с префиксом, который мы хотим для выходных файлов. split также может использовать параметр -d, чтобы дать нам числовую нумерацию (*.01 , *.02 , *.03 и т. д.) для выходных файлов, а не алфавитную, которая применяется по умолчанию (*.aa , *.ab , *.ac, и т.д.). Параметр -a указывает длину суффикса. Команда выглядит так:

где ЧИСЛО — длина расширения (или суффикса), которое мы будем использовать, а РАЗМЕР — это размер результирующих файлов с модификатором единиц (K, M, G и т. д.). К примеру, разделим образ диска на файлы размером 4 ГБ с помощью следующей команды (размер последнего файла будет соответствовать оставшейся части тома, если он не является точно кратным выбранному вами размеру):

Это приведёт к созданию группы файлов (размером 4 ГБ), каждый из которых будет назван префиксом case1.split1, как указано в команде, за которым следует .000, .001, .002 и т. д. Параметр -a с 3 указывает, что мы хотим, чтобы расширение было не менее 3 цифр. Без -a 3 наши файлы будут называться .00 , .01 , .02 и т. д. братите внимание на конечную точку в имени нашего выходного файла. Мы делаем это так, чтобы суффикс добавлялся как расширение файла, а не в конец строки имени.

Как файл разделённый на части собрать в один файл

В приведённой выше команде мы повторно собрали разделённые части в новый файл образа размером 80 ГБ. Исходные разделённые файлы не удаляются.

о разделении и объединении файлов с помощью split и cat из терминала

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

Мы также можем загружать большой файл, и либо из-за отключения электроэнергии, либо из-за проблем с сетью загрузка прерывается. В этом случае придется начинать весь процесс заново. По этой и другим причинам хорошим способом перемещения файлов такого типа является разделить большой файл на маленькие сегменты. Таким образом, мы можем перемещать их более гибко. Когда получатель захочет открыть файл, ему нужно будет только объединить мелкие детали и поэтому вы можете получить копию исходного файла.

В следующих строках мы увидим, как разделить большие файлы на маленькие части и как объединить эти маленькие части обратно в один файл.

Разделение и объединение файлов из терминала Ubuntu

Для выполнения этой задачи мы будем использовать два команды, которые можно найти в нашей системе Ubuntu, как слипт и кошка.

Что раскол?

Это команда для систем Unix, которая это позволит нам разделить файл на более мелкие части. Это создаст файлы с разными именами и расширениями (аа, ab, ac), а также может установить размер результирующих файлов.

Чтобы узнать больше о характеристиках команда разделения, мы сможем смотрите вашу документацию ввод в терминале (Ctrl + Alt + T):

человек раскололся

Что такое кошка?

С команда кота мы сможем просматривать различные текстовые файлы, а также объединить разделенные файлы.

Как и в случае с предыдущей командой, мы сможем обратитесь к документации открытие терминала (Ctrl + Alt + T) и ввод в нем:

мужчина кошка

Разбивать большие файлы из терминала

Чтобы показать в качестве примера, я собираюсь использовать ISO-образ ubuntu-18.10-desktop-amd64.iso что у меня есть в этой команде. Прежде чем мы начнем, давайте проверить размер файла. Для этой задачи в терминале (Ctrl + Alt + T) мы воспользуемся следующей командой:

du ISO файл

Как видите, это большой файл, который, в зависимости от доступной скорости загрузки, может быть трудно передать по сети. По этой причине следующим шагом будет разделите этот ISO-файл на файлы меньшего размера.

Разделить файл с помощью split

Чтобы разделить образ ISO в этом примере на файлы с размером, например, 200 MB каждый, мы собираемся открыть терминал (Ctrl + Alt + T), и мы будем использовать следующую команду:

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

Как только процесс разделения будет завершен, мы сможем проверьте вывод вышеуказанной команды используя следующую команду в том же терминале:

разделить файл ISO

Как видно на скриншоте, мы собираемся найти новые файлы, которые начинаются с UB. Кроме того, все они будут иметь максимальный размер 200 МБ. Теперь их будет легко загружать, перемещать или отправлять куда угодно.

Объединить файлы с помощью cat

Как только фаза разделения файлов закончится, пора объединить все части, чтобы снова получить копию исходного файла. Чтобы развить этот пример, я сначала создам новый каталог для перемещения небольших файлов.

Затем я собираюсь переместить все файлы меньшего размера, которые начинаются с UB, в новый каталог.

И я перейду в новый каталог.

На этом этапе мы будем объединить файлы с именем UB в новый файл с именем ISO-Ubuntu-merged.iso. Для этого выполним следующую команду:

Объединение файлов в ISO

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

Подтверждено создание ISO-образа Ubuntu, теперь мы можем использовать его так, как нам подходит.

объединенный образ iso, работающий в виртуальном боксе

Таким образом, мы можем разделить большой файл на другие небольшие файлы и легко объединить их снова. Вам нужно только использовать команды слипт y кошка из терминала Ubuntu.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » Разделяйте и объединяйте большие файлы из терминала с помощью slipt и cat

Читайте также: