Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

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

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

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...