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 части.
На выход мы получим размер созданных файлов в байтах и 2 созданных файла: xx00 и xx01.
Чтобы разбить файл на три более мелких файла, можно воспользоваться следующим регулярным выражением:
После выполнения данной программы мы получим 3 файла.
См. также
Ссылки
Команды Unix |
---|
|
|
---|
Файловые утилиты | |
---|
Текстовые утилиты | |
---|
Shell-утилиты | |
---|
другие утилиты | |
---|
|