Разделение файлов на части

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

Команда split разделяет содержимое файла на части, которые записываются в отдельные файлы. По умолчанию команда записывает в отдельный файл ка- ждые 1000 строк текста. Имена файлов начинаются со строки префикса и до- полняются символами нумерации, начиная с aa. Если префикс не указан, то используется префикс по умолчанию — символ x, а имена файлов, в которые будут записаны части разделенного файла, будут иметь вид: xaa, xab, xac, ...

Опция -l команды split позволяет указать, сколько строк должно содер- жаться в частях файла (пример 8.49).

 

Пример 8.49. Команда split

 

$ split –l9 /etc/passwd

$ ls x* xaa xab


 

В примере 8.49 содержимое файла /etc/passwd разделено так, чтобы в час- тях файла содержалось по четыре строки (кроме последнего файла). В ре- зультате выполнения команды исходный файл разделен на два файла — xaa и xab.

Опция -b команды split позволяет указать, сколько байтов должно содер- жаться в частях файла. Так можно разделять на части бинарные файлы. Ко- манда split –b5K разделит файл на части, содержащие по 5 Кбайт кроме, возможно, последней части.

Опция -Cn позволяет записывать в выходные файлы столько целых строк ис- ходного файла, сколько можно записать, так, чтобы размер выходных файлов не превысил n байт. Например, команда split -C1024 разделит файл на час- ти, не превышающие по размеру 1 Кбайт и содержащие целые строки исход- ного текста.

Команда csplit позволяет разделить текстовый файл на часть до строки, со- держащей образец — регулярное выражение, и часть, начиная со строки, со- держащей его. Например, команда csplit /etc/hosts /et/ разделит файл на две части. Первая часть будет содержать все строки до строки, содержа- щей et, а вторая — все остальные строки. Команда csplit именует части ис- ходного файла префиксом xx с нумерацией.

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

Можно указать число повторов поиска образца в фигурных скобках. Напри- мер, команда csplit file /etc/ {1} повторит поиск регулярного образца один раз. В случае если повторный поиск неудачен, команда csplit заверша- ет свое выполнение с выводом сообщения об ошибке, а все части исходного файла стираются. Опция -k отменят удаление выходных файлов в случае ошибки повторного поиска по регулярному выражению.

 








Дата добавления: 2015-06-12; просмотров: 609;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.