Узнайте, как разделить большой файл на несколько файлов меньшего размера с помощью команды split в Linux.

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

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

Что такое команда разделения?

Команда split — популярный инструмент командной строки Linux, созданный Торбьорном Гранлундом и Ричардом М. Столлман. Как следует из названия, команда split используется для разделения файла на более мелкие подфайлы.

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

instagram viewer

Синтаксис разделенной команды

Основной синтаксис команды разделения:

разделить [ВАРИАНТ]... [ФАЙЛ] [ПРЕФИКС]
  • [ВАРИАНТ]: Команда разделения имеет различные параметры, позволяющие решить, как вы хотите разделить файл, и другие конкретные функции, которые могут вас заинтересовать.
  • [ФАЙЛ]: Это путь к файлу, который вы хотите разделить.
  • [ПРЕФИКС]: Это относится к префиксу подфайлов.

Как использовать команду разделения

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

Для демонстрации мы будем использовать текстовый файл с именем большой файл.txt. Пожалуйста, выберите текстовый файл с несколькими строками и достаточно большим размером для этого урока. Если у вас его нет, вы можете использовать текстовый редактор Linux или команду cat, чтобы вставить большой текст и сохранить его.

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

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

split -l [количество строк] [входной файл] [префикс выходного файла]

Например, вы можете разделить файл с 210 строками на файлы по 50 строк в каждом; вы получите пять файлов меньшего размера. Первые четыре файла будут содержать по 50 строк каждый, а пятый файл будет содержать всего 10 строк.

Чтобы разделить файл с именем «largefile.txt» на более мелкие файлы по 100 строк в каждом, выполните следующую команду:

split -l 100 большой файл.txt маленький файл

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

Разделить большие файлы по размеру

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

split -b [размер в байтах] [входной файл] [префикс выходного файла]

Разделите файл largefile.txt на более мелкие файлы по 300 байт каждый, выполнив эту команду:

split -b 300 bigfile.txt smallfile

Вот результат:

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

Вы также можете разделить файл на фиксированное количество файлов независимо от количества файлов и байтов в них. Вы делаете это с помощью вариант. Вот синтаксис:

split -n [количество файлов] [входной файл] [префикс выходного файла]

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

split -n 5 большой файл.txt маленький файл

Результат должен выглядеть так:

Изменить длину суффикса разделенных файлов

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

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

split -a [длина суффикса] [входной файл] [префикс выходного файла]

Вы можете использовать этот параметр длины суффикса вместе с другими командами разделения. Чтобы разделить файл largefile.txt на 10 частей с длиной суффикса 4, выполните следующую команду:

split -a 4 -n 10 bigfile.txt smallfile

Когда вы перечисляете содержимое каталога, вывод должен выглядеть так:

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

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

cat [разделить файлы] > [выходной файл]

При использовании команды cat для объединения разделенных файлов важно указать правильный порядок разделенных файлов.

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

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

Здесь появляется префикс. Просто добавив знак звездочки (*), вы сможете объединить все файлы, начинающиеся с этого префикса.

префикс кошки * > [выходной файл]

Вот пример команды, которая объединяет разделенные файлы маленький файл, маленький файлаб, маленький файлак, и маленький файл в один файл с именем большой файл.txt:

cat smallfile* > bigfile.txt

Эта команда объединит содержимое всех разделенных файлов, соответствующих шаблону. маленький файл* и перенаправить вывод в новый файл с именем bigfile.txt. Он также перечислит разделенные файлы в естественном порядке в зависимости от их имени, что должно быть правильным порядком для слияния.

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

Освоив команды обработки текста в Linux, вы сможете сэкономить время и ресурсы и повысить свою эффективность.