Csplit
csplit — утилита Unix, предназначенная для разбивки файла на несколько более мелких файлов в зависимости от строк контекста.
Описание
csplit [опции] файл арг_1 [... арг_n]
Команда csplit читает файл и разбивает его на n + 1 частей, определяемых аргументами арг_1 … арг_n. По умолчанию, секции помещаются в файлы с именами xx00, …, xxn; где n не может быть больше 99. Границы получаемых файлов определяются следующим образом: от строки, определяемой аргументом арг_(n−1), до строки арг_n (если n = 1, то определение идёт от начала файла).
Данная команда принимает следующие аргументы:
| Опция | Название | Описание |
|---|---|---|
| -s | Подавляет вывод количества символов созданных файлов | |
| -k | keep files | Не удаляет выходные файлы при ошибках |
| -f | prefix | Установка иного префикса кроме как xx |
| -z | elide empty files | Пропуск пустых выходных файлов |
| -n | digits | Использование указанного количество цифр вместо двух |
Каждый шаблон может иметь следующий вид:
| Конструкция | Описание |
|---|---|
| /регулярное_выражение[+/- смещение]/ | Создаётся файл, который начинается с текущей строки и продолжается до строки (не включая ее), содержащей выражение. После регулярного выражения может следовать смещение со знаком плюс или минус. |
| %регулярное_выражение[+/- смещение]% | Аналогичен предыдущему, но для очередной секции файл не создаётся. |
| номер_строки | Копировать в создаваемый файл до следующей строки (не включая её). |
| {число} | Повтор предыдущего шаблон указанное количество раз. |
| {*} | Повтор предыдущего шаблона максимальное количество раз. |
Пример использования
Данная программа разобьёт файл test1 на 3 части.
csplit test1 3
На выход мы получим размер созданных файлов в байтах и 2 созданных файла: xx00 и xx01.
Чтобы разбить файл на три более мелких файла, можно воспользоваться следующим регулярным выражением:
csplit file1 3 {1}
После выполнения данной программы мы получим 3 файла.
См. также
Ссылки
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.