csplit

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Описание[править | править код]

   csplit  [опции] файл арг_1 [... арг_n]

Команда csplit читает файл и разбивает его на n+1 частей, определяемых аргументами арг_1 … арг_n. По умолчанию, секции помещаются в файлы с именами xx00,…, xxn; где n не может быть больше 99. Границы получаемых файлов определяются следующим образом: от строки определяемой аргументом арг_n-1, до строки арг_n (если n = 1, то определение идёт от начала файла).

Данная команда принимает следующие аргументы:

Опция Название Описание
-s Подавляет вывод количества символов созданных файлов
-k keep files Не удаляет выходные файлы при ошибках
-f prefix Установка иного префикса кроме как 'xx'
-z elide empty files Удаление пустых выходных файлов
-n digits Использование указанного количество цифр вместо двух

Каждый шаблон может иметь следующий вид:

Конструкция Описание
/регулярное_выражение[+/- смещение]/ Создается файл, которая начинается с текущей строки и продолжается до строки (не включая ее), содержащей выражение. После регулярного выражения может следовать смещение со знаком плюс или минус.
%регулярное_выражение[+/- смещение]% Аналогичен предыдущему, но для очередной секции файл не создается.
номер_строки Копировать в создаваемый файл до (но не включая) следующей строки.
{число} Повтор предыдущего шаблон указанное количество раз
{*} Повтор преведущего шаблона максимальное количество раз

Пример использования[править | править код]

Данная программа разобьёт файл test1 на 3 части.

   csplit test1 3

На выход мы получим размер созданных файлов в байтах и 2 созданных файла: xx00 и xx01.

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

   csplit file1 3 {1}

После выполнения данной программы, мы получим 3 файла.

См. также[править | править код]

Ссылки[править | править код]