Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

csplit — популярная утилита командной строки Linux, используемая для разделения содержимого файла на две части. Файл, который необходимо изменить, должен быть текстовым файлом с пометкой ".текст" расширение.

Команда проста в использовании и хорошо работает во всех дистрибутивах Linux. Используя различные флаги, доступные для csplit, вы также можете изменить вывод в соответствии с вашими потребностями.

Вот как использовать csplit для разделения файла в Linux.

Что такое csplit?

Используемый в Linux и других Unix-подобных операционных системах, csplit может разбить файл на отдельные файлы, определяемые строками контекста.

Основной синтаксис команды:

csplit[ВАРИАНТ][ШАБЛОН]

csplit против. расколоть

Большинству пользователей Linux нравится использовать команду split, когда дело доходит до разделения файла на несколько файлов меньшего размера. Проблема с этой командой заключается в том, что она использует размер байта или размер строки для разделения файлов.

instagram viewer

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

Как установить csplit в Linux

csplit предустановлен почти во всех дистрибутивах Linux. Однако, если вы столкнулись с ошибкой «csplit: команда не найдена», это означает, что инструмент не установлен в вашей системе. Чтобы установить csplit в Ubuntu, выполните:

Судо подходитполучать установить coreutils

В Arch Linux запустите:

sudo pacman -S coreutils

Чтобы установить csplit на Fedora и RHEL:

судо днф установить coreutils

Как использовать csplit в Linux

Чтобы увидеть, как работает csplit, создайте текстовый файл в своей системе. Использовать сенсорная команда для создания пустого файла.

трогатьимя файла.текст

Создав файл, откройте его в редакторе nano, чтобы изменить его содержимое.

наноимя файла.текст

После того, как вы добавили содержимое в файл, нажмите Ctrl + Х а потом Д чтобы сохранить и закрыть его.

Чтобы проверить содержимое файла с помощью кошачья команда, бегать:

имя файла кота

Используйте команду csplit для разделения файла

Чтобы понять, как работает csplit, сначала посмотрите на содержимое файла, используемого здесь в качестве примера.

Файл содержит девять строк с номерами от 1 до 9. Если вам нужно разделить файл на два, как вы скажете csplit, какое содержимое отправить в первый файл, а какое — в другой? Это легко. В команде нужно просто указать csplit, с какой строки начинать сплит.

Это делается путем указания номера строки. Например, если вы хотите разделить файл из третьей строки словом «Лондон», вы укажете 3 в команде. Введите команду следующим образом:

csplitимя файла.текст 3

Эта команда мгновенно разделит файл на две части. Использовать команда лс чтобы перечислить все содержимое каталога, чтобы увидеть выходные файлы. Вы найдете новые файлы с именами хх00 и хх01 вместе с исходным файлом.

Используйте команду cat, чтобы проверить содержимое обоих файлов.

Как видите, csplit разделил файл на две части из третьей строки, как указано в команде.

Параметры команды csplit

Вот некоторые параметры командной строки csplit, которые вы можете использовать:

1. Изменить префикс для выходных файлов

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

Например, если вы хотите, чтобы имена файлов имели азбука как префикс вместо хх, введите команду следующим образом:

csplit-fазбукаимя файла.текст 3

Как видно, после разделения оба файла имеют азбука как префикс в именах.

2. Сохраняйте файлы при возникновении ошибок

или --keep-файлы опция не удаляет выходные файлы, если в команде csplit есть ошибка.

Выполните следующую ошибочную команду:

csplit -k randomfile.txt 2 {3}

3. Изменить количество цифр в имени файла

Используя эту опцию, вы можете указать команде csplit, сколько цифр вы хотите видеть в имени файла после префикса. Его также называют цифровым флагом.

Введите следующую команду, чтобы сохранить только одну цифру в имени файла:

csplit 1 случайный файл.текст 2

Без флаг, по умолчанию вы увидите две цифры в имени файла.

4. Разделить файл без вывода счетчика размера

Также известный как тихий флаг, флаг молча разбивает файл, не упоминая размер выходных файлов.

csplitслучайный файл.текст 3

5. Просмотр справки командной строки

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

csplit --помощь

6. Проверьте номер версии csplit

Чтобы узнать, какую версию csplit вы используете, выполните команду с ключом --версия флаг:

csplit --версия

7. Пропустить определенную строку при разделении

Вы также можете использовать --suppress-matched параметр командной строки для пропуска определенной строки при разделении файла.

csplit--suppress-matchedимя файла.текст 5

При создании двух файлов csplit проигнорирует пятую строку и разделит файл со следующей строки.

В пятой строке исходного файла есть слово «Берлин». В выходном файле слово «Берлин» было опущено.

Легко разделяйте файлы с помощью одной команды в Linux

Существует множество утилит командной строки для управления файлами в системе Linux. Одним из них является csplit. По умолчанию он доступен во всех системах Linux. Если нет, вы можете просто установить его через командную строку.

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