mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      CSPLIT(1)                                             CSPLIT(1)

      НАЗВАНИЕ
              csplit - разбиение файла на части по контексту

      СИНТАКСИС
              csplit  [-s] [-k] [-f префикс] файл арг1 [... аргn]

      ОПИСАНИЕ
              Команда  csplit  читает  файл  и разбивает его на (n+1)
              частей  (секций),  определяемых  аргументами  арг1,...,
              аргn. По умолчанию, секции помещаются в файлы с именами
              xx00,...,  xxn; n не может быть больше 99. Границы сек-
              ций определяются следующим образом:

              00   От начала файла до строки (не включая ее),  указы-
                   ваемой аргументом арг1.

              01   От строки, указываемой аргументом арг1, до строки,
                   указываемой аргументом арг2.
              .
              .
              .
              n    От строки, указываемой аргументом аргn,  до  конца
                   файла.

              Если вместо имени файла указан  -,  используется  стан-
              дартный ввод.

              Опции команды csplit таковы:

              -s   Обычно команда csplit выдает  количество  символов
                   для каждого созданного файла. Задание опции -s по-
                   давляет эту выдачу.

              -k   Обычно в случае ошибки команда csplit удаляет соз-
                   данные файлы. При наличии опции -k созданные файлы
                   остаются без изменений.

              -f префикс
                   Именовать создаваемые  файлы  так:  префикс00,...,
                   префиксn. По умолчанию имена файлов суть xx00,...,
                   xxn.

              Аргументы команды  csplit  (арг1,...,аргn)  могут  быть
              комбинацией следующих конструкций:

              /выражение/
                   Создается файл для секции,  которая  начинается  с
                   текущей строки и продолжается до строки (не  вклю-
                   чая ее), содержащей выражение. За этим  аргументом
                   может следовать знак + или - и величина смещения в
                   строках  (например,  /Page/-5).  Граничная  строка
                   становится текущей.

              %выражение%
                   Этот аргумент обрабатывается так же, как и  преды-
                   дущий, за исключением того, что для очередной сек-
                   ции файл не создается.

              номер_строки
                   Создается файл для секции,  которая  начинается  с
                   текущей строки и продолжается до строки с заданным
                   номером (не включая ее). Эта строка  и  становится
                   текущей.

              {число}
                   Коэффициент повторного выполнения.  Этот  аргумент
                   может следовать за любым из приведенных выше. Если
                   он следует за аргументом типа выражение,  то  этот
                   последний применяется еще заданное число раз. Если
                   он следует за аргументом типа номер_строки,  то  с
                   текущей строки файл разбивается на  число  секций,
                   каждая из которых содержит номер_строки строк.

              Заключайте в кавычки все аргументы типа выражение,  ко-
              торые содержат пробелы или другие символы, имеющие зна-
              чение для интерпретатора команд shell. Выражение не мо-
              жет содержать символ перевода строки. Команда csplit не
              изменяет исходный файл; удаление исходного файла возла-
              гается на пользователя.

      ПРИМЕРЫ
              1. Разобьем файл f1, содержащий КОБОЛ-программу, на че-
              тыре части:

                   csplit  -f cobol f1 '/procedure division/' \
                           /par5./ /par6./

              В результате выполнения этой команды  создаются  четыре
              файла: cobol00,...,cobol03. После того, как  полученные
              файлы будут отредактированы, их можно об единить коман-
              дой

                   cat cobol0[0-3] > f1

              Заметим, что команды этого примера  перезаписывают  ис-
              ходный файл f1.

              2. Команда

                   csplit -k f2 100 {99}

              разбивает  файл  f2  через каждые 100 строк до 10000-ой
              строки. Указание опции -k гарантирует  сохранение  соз-
              данных  файлов, если исходный файл содержит менее 10000
              строк (однако сообщение об ошибке все равно будет выда-
              но).

              3. Разбиение C-программы:

                   csplit -k prog.c '%main(%' '/^}/+1' {20}

              Если предположить, что в программе prog.c  все  функции
              заканчиваются правой фигурной скобкой }, стоящей в  на-
              чале строки, то  команда  этого  примера  помещает  все
              функции (не более 21) в отдельные файлы.

      СМ. ТАКЖЕ
              ed(1), fsplit(1), sh(1), split(1).
              regexp(5) в Справочнике программиста.

      ДИАГНОСТИКА
              Самоочевидна, за исключением сообщения:

                   аргумент - out of range

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



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк