split

Разделение файлов на несколько частей (POSIX)

Синтаксис:

split [-a длина_суффикса] [-b n[k|m]] [-l число_строк] [-p шаблон] [файл [имя]]

Опции:

-a длина_суффикса
Использовать число букв, равное параметру длина_суффикса, при формировании суффикса для имен файлов, создаваемых при разделении файла.
-b n[k|m]
Разделить файл на части размером по n байт. Размер n можно указать в килобайтах (по 1024 байта) или мегабайтах (по 1048576 байт), добавив после него символ k или m соответственно.
-l число_строк
("эль") Разделять файлы по числу строк, равному параметру число_строк, в каждой части. Аргумент число_строк представляет собой десятичное целое число без знака. Значение по умолчанию – 1000. Следует учесть, что последний файл может отличаться по размеру от других файлов.
-p шаблон
(расширение не соответствующее POSIX) Разделять файл каждый раз при достижении строки ввода, соответствующей шаблону, который интерпретируется как расширенное регулярное выражение. Совпадающая строка будет первой строкой следующего выходного файла. Следует отметить, что эта опция несовместима с опциями -b и -l.
файл
Путевое имя файла, который требуется разделить. Если файлы не указаны, или аргумент файл имеет значение -, утилита split выполняет чтение из стандартного потока ввода.
имя
Префикс, который будет использоваться для присвоения имени каждому файлу, создаваемому в процессе разделения. Если имя не указано, в качестве префикса выходных файлов используется символ x. Общая длина имени и длина_суффикса не должна превышать 48 символов.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

Утилита split считывает входной файл и записывает данные из этого файла в один или несколько выходных файлов.

По умолчанию выходные файлы получают имена xaa, xab, ..., xzz, а в каждом выходном файле (возможно, за исключением последнего) содержится 1000 строк.

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

Примеры:

Предположим, что имеется файл с именем big_file, размер которого равен 8192 строкам. Следующая команда создает девять файлов с именами xaa, xab, xac, ..., xai. Первые восемь файлов содержат по 1000 строк, последний файл содержит только 192 строки:

split big_file

Аналогично, если файл big_file содержит 8192 строки, то следующая команда создает только два файла: файл smaller_aa, содержащий 8000 строк, и файл smaller_ab, содержащий 192 строки:

split -l 8000 big_file smaller_

Файлы:

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

Возвращаемое значение:

0
Завершено успешно.
>0
Возникла ошибка.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», POSIX

Тематические ссылки:

cat, cut, head, sed, tail




Предыдущий раздел: Утилиты