Хотите узнать про особенности команды cut в Linux/UNIX? Это полезная утилита, позволяющая вырезать данные из текстового файла. Также она позволяет вам вырезать данные по символам, по полю или по столбцу. Если cut корректно использовать вместе с sed, find или grep в Linux/UNIX, то можно получить много полезных отчетов о системе. Например, вы можете извлекать столбцы из файла, разделенного запятыми, или файла с разделителем «/» или двоеточием с помощью команды cut.
Чтобы продемонстрировать как использовать команду cut, мы будем использовать текстовый файл с разделителями двоеточиями в качестве входных данных. Этот текстовый файл содержит некоторую информацию, разделенную двоеточием.
Вот содержание файла:
Name:Company:Price:Ganre:Multiplayer
Item1:Company1:60000$:Ganre1:Yes
Item2:Company2:70000$:Ganre2:Yes
Item3:Company3:90000$:Ganre1:Yes
Item4:Company4:90000$:Ganre1:Yes
Item5:Company5:110000$:Ganre1:Yes
Item6:Company6:410000$:Ganre2:Yes
Как использовать команду CUT в Linux
Теперь давайте рассмотрим некоторые из часто используемых примеров команды cut в Linux. Вы узнаете, как извлекать столбцы из текстового файла в Linux, извлекать столбцы по символам, используя команду cut с любыми разделителями. Научимся извлекать столбцы с помощью символа табуляции, выводить данные из первого столбца и отображать нескольких столбцов из текстового файла.
Как вырезать столбец текста в Linux/UNIX
Вырезать столбец это достаточно легко, сначала вам нужно определить разделитель, по умолчанию — это табуляция, теперь вам нужно указать номер столбца с опцией -f. f обозначает поле, например, cut -f1 file отобразит данные из первого столбца. Поскольку в нашем файле столбцы отделяются двоеточиями, мы будем использовать двоеточие в качестве разделителя:
$ cut -d: -f1 text.txt
Как вы можете заметить, отображаются данные только из первого столбца.
Вырезание определенного количества символов в Linux/UNIX
В следующем примере команда cut будет вырезать посимвольно, от 1 до 10-го символа. Вы можете проверить, что каждая строка вывода имеет ровно 10 символов.
$ cut -c 1-10 text.txt
Вырезание по разделителю в Linux/UNIX
Символ табуляции является разделителем по умолчанию для команды cut и опция -f используется для вырезания с разделителем. Вы можете переопределить разделитель, предоставив параметр -d. После выполнения команды cut с переопределенным разделителем вы увидите такой результат:
$ cut -d: -f2 text.txt
В этом примере разделителем является двоеточие, то есть символ :, указанный сразу после -d, в итоге мы получили значения из второго столбца. Если вы хотите отображать значения из третьего столбца, просто укажите 3 после -f ( вот так -f3), аналогично для n-го столбца просто укажите -fn.
Пример Linux/UNIX cut + sed с разделителем табуляции
Чтобы показать вам пример команды cut с разделителем табуляции, нам нужно сначала изменить наш разделитель : на табуляцию, для чего мы можем использовать команду sed, которая заменит все двоеточия на символ табуляции.
Вот команда, которую вы можете использовать для преобразования и вывода необходимого результата:
$ sed 's/:/\t/g' text.txt | cut -f 1
Как вывести первый символ строки в Linux/UNIX?
Ниже приведен пример выведения в UNIX, который отображает первый символ каждой строки из входного файла.
$ cut -c 1 text.txt
Из примера приведенного выше видно, что отображается только первый символ из каждой строки.
Выведение нескольких столбцов с помощью команды cut
Вы можете вывести несколько столбцов с помощью cut. В следующем примере будет выведен как первый, так и второй столбец из файла:
$ cut -d: -f '1 2' text.txt
Важные аспекты использования команды 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 с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
5 комментариев. Оставить новый