Использование:
csplit [option]... input pattern...
input представляет собой имя файла или устройство стандартного ввода. Содержание выводных файлов определяется значениями аргументов pattern в соответствии с алгоритмом, который описывается ниже. Если регулярное выражение pattern не соответствует никакой строке во вводном файле, то возникает состояние ошибки. После того как все выражения pattern найдены во вводном файле, остаток вводного файла просто копируется в последний выводной файл.
По умолчанию, программа csplit печатает число байтов записанных в каждый выводной файл.
Программа допускает следующие виды pattern.
[shevel@pcfarm TEST]$ csplit crawler 10
790
21371
[shevel@pcfarm TEST]$ wc *
337 1441 22161 crawler
9 81 790 xx00
328 1360 21371 xx01
674 2882 44322 total
Можно использовать два и более чисел:
csplit crawler 10 14 19 39
wc *
тогда получим следующее:
[shevel@pcfarm TEST]$ csplit crawler 10 14 19 39
790
948
374
667
19382
[shevel@pcfarm TEST]$ wc *
337 1441 22161 crawler
9 81 790 xx00
4 69 948 xx01
5 31 374 xx02
20 63 667 xx03
299 1197 19382 xx04
674 2882 44322 total
При этом во второй файл (xx01) попадут строки с═номера 10 по номер
13, в третий файл (xx02) - строки с номера 14 по номер 18, в
четв©ртый файл (xx03) - строки с номера 19 по номер 38, а═остаток
запишется в файл xx04.
Например, мы имеем файл с именем t, который содержит тестовую последовательность:
[shevel@pcfarm TEST]$ cat t 111111 222222 333333 444444 555555 666666Тогда последовательность команд:
[shevel@pcfarm TEST]$ csplit t 2 /333/+1
7
14
22
[shevel@pcfarm TEST]$ wc *
7 6 43 t
1 1 7 xx00
2 2 14 xx01
4 3 22 xx02
14 12 86 total
А содержимое файлов будет следующим:
[shevel@pcfarm TEST]$ cat xx00 111111 [shevel@pcfarm TEST]$ cat xx01 222222 333333 [shevel@pcfarm TEST]$ cat xx02 444444 555555 666666
Если слеши в выражениях заменить на знаки SPMquot%" (процента)
то никаких выводных файлов создаваться не будет. Таким образом, такое
выражение позволяет пропустить определ©нную часть вводного файла.
Например,
csplit t 2 %333%+1В этом случае будет создано всего два выводных файла.
Имена выводных файлов состоят из префикса (по умолчанию xx), за которым следует суффикс. По умолчанию суффикс состоит из двух цифр (от 00 до 99).
По умолчанию, если программа csplit встретила ошибку и завершается ненормально или получает сигнал терминирования, то она удаляет все файлы созданные до получения сигнала.
Программа воспринимает следующие параметры.