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 файла.