CSPLIT(1) FreeBSD General Commands Manual CSPLIT(1) NAME csplit — разделить файл по контексту SYNOPSIS csplit [−ks] [−f prefix] [−n number] file args ... DESCRIPTION Утилита csplit разделяет файл на куски используя аргументы-шаблоны. Если файл - это черта (‘−’), csplit читает из стандартного ввода. Имеются следуюшие опции: -f prefix Дать созданным файлам имена, начинающиеся с prefix. По умолчанию “xx”. -k Не удалять выходные файлы, если случится ошибка или поступит сигнал HUP, INT или TERM. -n number Исрпользовать number десятичных цифр после префикса для формирования имени файла. По умолчанию 2. -s Не выводить размер каждого выходного файла в стандартный вывод при создании. Аргументы-операнды могут быть набором из следующих шаблонов: /regexp/[[+|‐]offset] Создать файл, содержащий ввод с текущей строки до следующей строки (не включительно), подходящей под данное базовое регулярное выражение. Возможно указание смещения от подошедшей строки. %regexp%[[+|‐]offset] То же, что и выше, только файл для вывода создан не будет. line_no Создать файл, содержащий ввод с текущей строки до строки с указанным номером (не включительно). {num} Повторить предыдущий шаблон указанное число раз. Если это следует за шаблоном номера строки, для каждых line_no строк будет создано по новому файлу, и так num раз. По традиции первая строка в файле имеет номер 1. После обработки всех шаблонов оставшиеся входные данные (если они остались) будут записаны в новый файл. Запрос на разделение по строке до текущей или после конца файла вызовет ошибку. ENVIRONMENT Переменные окружения LANG, LC_ALL и LC_CTYPE влияют на исполнение col в порядке, описанном в eviron(7). EXIT STATUS The csplit utility exits 0 on success, and >0 if an error occurs. EXAMPLES Разделить файл foo.1 формата mdoc(7) в несколько файлов по одному на каждую секцию (до 20): csplit ‐k foo.1 ’%^\.Sh%’ ’/^\.Sh/’ ’{20}’ Разделить стандартный ввод после первых 99 строк и далее каждые 100 строк: csplit ‐k ‐ 100 ’{19}’ SEE ALSO sed(1), split(1), re_format(7) STANDARDS The csplit utility conforms to IEEE Std 1003.1‐2001 (“POSIX.1”). HISTORY A csplit command appeared in PWB UNIX. BUGS Длина входных строк ограничена LINE_MAX (2048) байтами. FreeBSD 7.0 January 26, 2005 FreeBSD 7.0