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 файла.
См. также split cat expand
Ссылки https://linux.die.net/man/1/csplit http://citforum.ru/operating_systems/manpages/CSPLIT.1.shtml
Категория:Утилиты Unix