csplit — популярная утилита командной строки Linux, используемая для разделения содержимого файла на две части. Файл, который необходимо изменить, должен быть текстовым файлом с пометкой ".текст" расширение.
Команда проста в использовании и хорошо работает во всех дистрибутивах Linux. Используя различные флаги, доступные для csplit, вы также можете изменить вывод в соответствии с вашими потребностями.
Вот как использовать csplit для разделения файла в Linux.
Что такое csplit?
Используемый в Linux и других Unix-подобных операционных системах, csplit может разбить файл на отдельные файлы, определяемые строками контекста.
Основной синтаксис команды:
csplit[ВАРИАНТ][ШАБЛОН]
csplit против. расколоть
Большинству пользователей Linux нравится использовать команду split, когда дело доходит до разделения файла на несколько файлов меньшего размера. Проблема с этой командой заключается в том, что она использует размер байта или размер строки для разделения файлов.
Это невозможно в сценариях, когда вы хотите разделить файлы на основе их содержимого, а не их размера. В этом случае на помощь приходит 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, если вы хотите проверить файлы после разделения.