Как вывести на экран поля и столбцы файла с помощью awk

Как вывести на экран поля и столбцы файла с помощью awk

Рубрики:

Linux, Терминал Linux

Метки:

, ,

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

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

Также предлагаем ознакомиться со второй статьей: Регулярные выражения для фильтрации текста в AWK.

Содержание:

  1. Как AWK обрабатывает текст
  2. Как вывести на экран несколько полей файла
  3. Как вывести на экран несколько столбцов файла
  4. Выводы

Как AWK обрабатывает текст

Прежде, чем перейти к практической части, давайте разберем, как AWK работает с содержимым документа. Скриптовый язык делит входные строки на поля (наборы символов), которые отделены от других полей внутренним разделителем (зачастую: пробелом, табуляцией, символом новой строки). У каждого поля есть свой номер. Первый набор символов — 1, второй набор символов — 2, третий набор символов — 3, и так далее. Чтобы обратиться к определенному полю, Вы должны использовать символ $ вместе с номером этого поля. Например, $3 — это третье поле в файле.

Теперь, когда мы с этим разобрались, давайте рассмотрим примеры использования AWK.

Как вывести на экран несколько полей файла

Для начала создадим текстовый документ и запишем в него определенный текст. Например:

 

cat file

В этом файле у нас есть несколько слов, разделенных пробелами. Допустим, нам нужно вывести на экран первые три поля содержимого. В этом случае первое поле — SEDICOMM, второе поле — (Self, третье поле — Development. Чтобы вывести их в командную строку, будем использовать следующую команду:

 

awk no space

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

 

awk spaces
Читайте также: 12 полезных команд для фильтрации текста и эффективных операций с файлами в Linux.

Как вывести на экран несколько столбцов файла

Вы также можете выводить на экран не только отдельные слова, но и целые столбцы. Например, это удобно для работы с теми файлами, которые содержат таблицы с определенными данными. Допустим, у нас есть текстовый документ с несколькими колонками данных:

 

cat file2

Чтобы вывести на экран несколько столбцов, Вы должны прописать в команде их номера, как мы это сделали в предыдущем примере работы с полями:

 

awk list

На скриншоте видно, что наша таблица выводится без соблюдения отступов между столбцами. Если Вы хотите придать ей более удобочитаемый вид, добавьте к команде printf "%-10s %s\n", чтобы таблица выглядела следующим образом:

 

awk normal view
Строка "%-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 с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Терминал Linux

Метки:

, ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню