csplit - это команда Linux, которая может быть использована для разделения большого файла на несколько меньших файлов/частей, в зависимости от требований пользователя. Эти части определяются контекстными строками.
По умолчанию csplit разбивает файл на 1000 строк на файл и предоставляет пользователям возможность изменить количество разбиваемых строк в соответствии с их требованиями. Выходные разделенные файлы имеют имена типа "xx00" и "xx01". Команда csplit также выводит количество байт в каждом разделенном файле/фрагменте в собственный или стандартный вывод.
Синтаксис команды Csplit
Синтаксис команды csplit следующий:
1 | csplit [ОПЦИИ]... ПАТТЕРН ФАЙЛА... |
ОПЦИИ в синтаксисе - это опции командной строки, которые используются для передачи параметров программе. Где FILE - имя файла, к которому пользователь хочет получить абсолютный путь.
Параметры командной строки
- -b, --suffix-format=FORMAT использовать sprintf FORMAT вместо %02d
- -f, --prefix=PREFIX использовать PREFIX вместо 'xx'
- -k, --keep-files не удалять выходные файлы при ошибках
- --suppress-matched подавлять строки, соответствующие PATTERN
- -n, --digits=DIGITS использовать указанное количество цифр вместо 2
- -s, --quiet, --silent не печатать подсчеты размеров выходных файлов
- -z, --elide-empty-files удалить пустые выходные файлы
- --help вывести справку и выйти
- --version вывести информацию о версии и выйти
Команда sing csplit - примеры
В дальнейшем руководстве я объясню и подробно расскажу об использовании команды csplit в явном виде с каждой опцией командной строки на примерах. Для выполнения этого процесса вам необходимо выполнить следующие шаги:
Создайте файл с именем 'Demo.txt' со следующим содержимым, как показано на ниже. Используйте текстовый редактор на вашей машине и сохраните его в домашней папке.
1 2 3 4 5 6 | 1.Use 2.Of 3.Csplit 4.Comand 5.Line 6.Options |
Пользователь может также создать файл с другим именем, содержащий данные по своему выбору или по своему рабочему требованию.
Теперь напишите в терминале следующую команду для разделения файла на 2 части. Поскольку вторая часть начинается с третьей строки, в команде csplit мы напишем '3'.
1 | csplit Demo.txt 3 |
1 2 3 | csplit Demo.txt 3 11 35 |
После выполнения команды csplit выдаст вам количество байт в каждом разделенном файле в виде стандартного числа. Чтобы узнать, разделен ли Demo.txt на 2 файла или нет, напишите в терминале 'ls' и нажмите Enter. При нажатии enter отобразятся все файлы в домашней папке. В домашней папке вы можете увидеть 2 разделенных файла с именами 'xx00' и 'xx01'. В xx00 содержится 11 байт, а в xx01 - 35 байта.
Теперь, чтобы увидеть содержимое файлов xx00 и xx01, выполните следующую команду в терминале.
1 2 | cat xx00 cat xx01 |
Выполнение этих команд даст вам следующий результат:
1 2 3 4 5 6 7 8 9 | # cat xx00 1.Use 2.Of # cat xx01 3.Csplit 4.Comand 5.Line 6.Options |
Использование опций командной строки csplit
Опция -f, -Prefix
Эта опция использует PREFIX вместо 'xx' в имени разделяемого файла. Синтаксис этой опции командной строки следующий:
1 | csplit -f pre Demo.txt 3 |
В приведенной выше команде -f - это опция командной строки, 'pre' - это префикс, который будет использоваться вместо 'xx'. Пользователь может задать любое имя префикса по своему выбору. Для данного руководства я задаю 'pre'. Demo.txt - это имя файла, как описано выше в шаге 02.
Выполнив эту команду, теперь файлы названы как 'pre00' и 'pre01'.
Опция -k, --keep-files
Эта опция не удаляет выходные файлы сплита, если он столкнулся с какой-либо ошибкой. Предположим следующий пример, я пишу в терминале следующую ошибочную команду.
1 | csplit -k Demo.txt 4 {3} |
Поскольку приведенная выше команда содержит ошибку, но опция -k не удаляет разделенные файлы. После выполнения csplit -k Demo.txt 4 {3} я запущу другую ошибочную команду ls xx*, но на выходе все равно будут отображаться имена разделенных файлов.
Опция -n, -Digits
Эта опция устанавливает количество цифр после имени файла. Допустим, если вы установите число цифр равным 1, имя выходного файла будет xx0 вместо xx00. Синтаксис этой опции командной строки следующий:
1 | csplit -n 1 Demo.txt 3 |
В приведенной выше команде опция -n является опцией командной строки. Пользователь может установить любое число цифр по своему выбору. В данном руководстве я задаю значение '1'. Demo.txt - это имя файла, как описано выше в шаге 02.
Опция -z, -elide-empty-files
Эта опция удаляет пустые выходные файлы. Синтаксис этой опции командной строки следующий:
1 | csplit -z Demo.txt 6 |
Опция -s, -quiet
Эта опция не отображает подсчет размера выходных файлов. Синтаксис этой опции командной строки следующий:
1 | csplit -s Demo.txt 3 |
В приведенной выше команде, -s - это опция командной строки. Demo.txt.