Использование:
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 встретила ошибку и завершается ненормально или получает сигнал терминирования, то она удаляет все файлы созданные до получения сигнала.
Программа воспринимает следующие параметры.