ryg

Команда csplit в Mac OS X

Синтаксис:

 csplit [-ks] [-f prefix] [-n number] file args ...

Описание:

Разделить файлы, основываясь на контексте. Утилита csplit разбивает файлы на части, используя шаблоны поиска описанные в args. Может быть использовано несколько различных шаблонов используемых последовательно. Если вместо имени файла указать дефис "-", то команда будет получать данные из стандартного ввода.

Параметры:

-f prefix Задать начало имени выходных файлов (prefix). По умолчанию равен "xx".
-k Не удалять файлы результата при возникновении ошибки выполнения или при получении сигналов HUP, INT или TERM.
-n number При формировании имен файлов результата использовать number цифр после префикса (prefix). По умолчанию 2.
-s При каждой записи получившихся файлов не сообщать в стандартный вывод их размер.

Параметр args может содержать следующие шаблоны:

/regexp/[[+|-]offset]

Создать файл от текущей строки до найденного соответствия шаблону, но включая строку с ним. В качестве шаблона используются регулярные выражения. Возможно использования дополнительных смещений offset от строки.

%regexp%[[+|-]offset]

Аналогично предыдущему, но файл при этом не создается.

line_no

Создать файл от текущей строки до заданной строки, но ее в выходной файл не включать. При попытке указать номер строки с номером меньше текущей приведет к возникновению ошибки выполнения. 

{num}  

Повторить предыдущий шаблон поиска num раз. Если был указан номер строки, то выходной файл будет сделан num раз. Нумерация строк начинается с 1.

После того как будут обработаны все шаблоны, необработанный остаток данных из входного файла будет записан в новый файл.

Утилита csplit использует в работе следующие переменные окружения среды: LANG, LC_ALL, LC_CTYPE и LC_COLLATE.

В случае успешного завершения утилита сsplit для Mac OS X возвращает в терминал 0, а в случае ошибки число больше 0.

 

Впервые утилита появилась в PWB UNIX и соответствует стандарту  IEEE Std 1003.1-2001 (``POSIX.1'').

Длина входной строки в файлах ограничена переменной LINE_MAX (2048 символов).

Примеры:

Разбить данные из стандартного ввода. Создав файлы: первый из 9 строк и создавая последующие каждые 10 строк 19 раз. 

  csplit -k - 10 '{19}'

Разбить файл согласно шаблонам на части.

csplit -k foo.1 '%^\.Sh%' '/^\.Sh/' '{20}'

split - разделить файл на части побайтно или построчно.
awk - сканировать файл и выполнить команды в соответствии с шаблоном

Весь список команд terminal Mac OS X