Хотите узнать про особенности команды cut в Linux/UNIX? Это полезная утилита, позволяющая вырезать данные из текстового файла. Также она позволяет вам вырезать данные по символам, по полю или по столбцу. Если cut корректно использовать вместе с sed, find или grep в Linux/UNIX, то можно получить много полезных отчетов о системе. Например, вы можете извлекать столбцы из файла, разделенного запятыми, или файла с разделителем “/” или двоеточием с помощью команды cut.
Чтобы продемонстрировать как использовать команду cut, мы будем использовать текстовый файл с разделителями двоеточиями в качестве входных данных. Этот текстовый файл содержит некоторую информацию, разделенную двоеточием.
Вот содержание файла:
Как использовать команду CUT в Linux
Теперь давайте рассмотрим некоторые из часто используемых примеров команды cut в Linux. Вы узнаете, как извлекать столбцы из текстового файла в Linux, извлекать столбцы по символам, используя команду cut с любыми разделителями. Научимся извлекать столбцы с помощью символа табуляции, выводить данные из первого столбца и отображать нескольких столбцов из текстового файла.
Как вырезать столбец текста в Linux/UNIX
Вырезать столбец это достаточно легко, сначала вам нужно определить разделитель, по умолчанию — это табуляция, теперь вам нужно указать номер столбца с опцией -f. f обозначает поле, например, cut -f1 file отобразит данные из первого столбца. Поскольку в нашем файле столбцы отделяются двоеточиями, мы будем использовать двоеточие в качестве разделителя:
Как вы можете заметить, отображаются данные только из первого столбца.
Вырезание определенного количества символов в Linux/UNIX
В следующем примере команда cut будет вырезать посимвольно, от 1 до 10-го символа. Вы можете проверить, что каждая строка вывода имеет ровно 10 символов.
Вырезание по разделителю в Linux/UNIX
Символ табуляции является разделителем по умолчанию для команды cut и опция -f используется для вырезания с разделителем. Вы можете переопределить разделитель, предоставив параметр -d. После выполнения команды cut с переопределенным разделителем вы увидите такой результат:
В этом примере разделителем является двоеточие, то есть символ :, указанный сразу после -d, в итоге мы получили значения из второго столбца. Если вы хотите отображать значения из третьего столбца, просто укажите 3 после -f ( вот так -f3), аналогично для n-го столбца просто укажите -fn.
Пример Linux/UNIX cut + sed с разделителем табуляции
Чтобы показать вам пример команды cut с разделителем табуляции, нам нужно сначала изменить наш разделитель : на табуляцию, для чего мы можем использовать команду sed, которая заменит все двоеточия на символ табуляции.
Вот команда, которую вы можете использовать для преобразования и вывода необходимого результата:
Как вывести первый символ строки в Linux/UNIX?
Ниже приведен пример выведения в UNIX, который отображает первый символ каждой строки из входного файла.
Из примера приведенного выше видно, что отображается только первый символ из каждой строки.
Выведение нескольких столбцов с помощью команды cut
Вы можете вывести несколько столбцов с помощью cut. В следующем примере будет выведен как первый, так и второй столбец из файла:
Важные аспекты использования команды cut в UNIX и Linux
Давайте рассмотрим некоторые важные моменты о cut в операционной системе UNIX и Linux.
1) Команда cut используется для отображения выбранной части содержимого файла в UNIX.
2) Разделитель по умолчанию в cut — табуляция, вы можете изменить разделитель с помощью опции -d и указанием за ней необходимого разделителя.
3) Команда cut в Linux позволяет вам выбирать часть содержимого файла по байтам, по символу, по полю или по столбцу.
4) Команда cut в UNIX или Linux может работать напрямую с файлами, или вы можете передать ей вывод другой команды UNIX/Linux.
5) В UNIX команда cut -d используется для вырезания с переопределенным разделителем.
6) Параметр -c используется для получения отрезков строк посимвольно.
Умное использование cut позволяет анализировать файлы журналов, извлекать данные, которые вам действительно нужны, в формате одного столбца. Вы всегда сможете использовать возможности Excel для дальнейшей фильтрации и работы с полученными данными. В Linux/UNIX вы можете комбинировать вывод команды cut с uniq и sort, чтобы отфильтровать дубликаты и вывести их в отсортированном порядке.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
6 комментариев. Оставить новый
есть число 555-5555085797118, как из данного числа вырезать 5-7 символ, т.е. должно получиться 555-5085797115
echo 555-5555085797118 | cut -c “-4,8-“
echo 555-5555085797118 | cut -c 5-7
Vlladimir, Aidar спрашивал “как вырезать” в смысле, как убрать 5-7 символ, а всё остальное вывести.
Есть небольшой файл, в котором перечислены файлы домашней директории (где первый столбец это имя файла), как выделить первый столбец и отделить от дальнейшей строки если в ней содержится цифра “3”.
Подскажите, пожалуйста. Есть файл, в нем информация по столбцам разделена знаком “=”. Я вырезал часть текста после знака, с помощью
cut -d= -f1 orig_file.txt > /home/user/my_file.txt
подправил. А как можно его вставить обратно?
Пример:
data=Данные
name=Имя
organisation=Организация
и т.д.