AWK — это скриптовый язык, используемый для обработки данных и текста. Этот язык не требует компиляции и позволяет использовать переменные, логические операторы и другое. Удобство AWK состоит в том, что программист с помощью него может написать эффективные программы для манипулирования с текстом файла. Например, поиск шаблона в каждой строке документа, обнаружение совпадений в строке, сканирование и обработка шаблонов.
В третьей статье из цикла мы расскажем, как вывести на экран столбцы и поля содержимого файла.
Также предлагаем ознакомиться со второй статьей: Регулярные выражения для фильтрации текста в AWK.
Содержание:
- Как AWK обрабатывает текст
- Как вывести на экран несколько полей файла
- Как вывести на экран несколько столбцов файла
- Выводы
Как AWK обрабатывает текст
Прежде, чем перейти к практической части, давайте разберем, как AWK работает с содержимым документа. Скриптовый язык делит входные строки на поля (наборы символов), которые отделены от других полей внутренним разделителем (зачастую: пробелом, табуляцией, символом новой строки). У каждого поля есть свой номер. Первый набор символов — 1, второй набор символов — 2, третий набор символов — 3, и так далее. Чтобы обратиться к определенному полю, Вы должны использовать символ $
вместе с номером этого поля. Например, $3
— это третье поле в файле.
Теперь, когда мы с этим разобрались, давайте рассмотрим примеры использования AWK.
Как вывести на экран несколько полей файла
Для начала создадим текстовый документ и запишем в него определенный текст. Например:
В этом файле у нас есть несколько слов, разделенных пробелами. Допустим, нам нужно вывести на экран первые три поля содержимого. В этом случае первое поле — SEDICOMM
, второе поле — (Self
, третье поле — Development
. Чтобы вывести их в командную строку, будем использовать следующую команду:
Вы могли заметить, что в терминале поля записаны без пробелов. Чтобы получить более удобочитаемый текст с пробелами — Вы должны написать в команде номера полей через запятую, а после последнего значения точку с запятой:
Читайте также: 12 полезных команд для фильтрации текста и эффективных операций с файлами в Linux.
Как вывести на экран несколько столбцов файла
Вы также можете выводить на экран не только отдельные слова, но и целые столбцы. Например, это удобно для работы с теми файлами, которые содержат таблицы с определенными данными. Допустим, у нас есть текстовый документ с несколькими колонками данных:
Чтобы вывести на экран несколько столбцов, Вы должны прописать в команде их номера, как мы это сделали в предыдущем примере работы с полями:
На скриншоте видно, что наша таблица выводится без соблюдения отступов между столбцами. Если Вы хотите придать ей более удобочитаемый вид, добавьте к команде printf "%-10s %s\n"
, чтобы таблица выглядела следующим образом:
Строка "%-10s %s\n"
определяет, как должен быть отформатирован вывод:
%-10s
— выводит на экран первый столбец с шириной 10 символов и выравнивает его по левому краю;%s
— выводит на экран второй столбец;\n
— записывает каждый следующий ряд таблицы с новой строки.
Выводы
Скриптовый язык AWK — это удобный инструмент, который может существенно упростить ИТ-специалисту процесс обработки текстов. С помощью AWK Вы сведете к минимуму время, необходимое для выполнения рутинных операций. В рамках этой статьи мы разобрали пару примеров, которые помогут Вам быстрее разобраться в возможностях этого языка.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии 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.