Как использовать переменные shell в AWK

Как использовать переменные shell в AWK

Рубрики:

Linux, Терминал Linux

Метки:

,

В скриптовом языке AWK переменные помогают выполнять различные операции с данными. В этой статье мы покажем способы использования переменных среды и оболочки shell в AWK и расскажем про основные правила цитирования. Эти переменные помогут Вам значительно облегчить работу с документами и сделать код более гибким.

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

Содержание:

  1. Как использовать переменные среды в AWK
  2. Как использовать переменные командной строки в AWK
  3. Выводы

Как использовать переменные среды в AWK

Переменные среды в Linux — это переменные, используемые операционной системой для хранения информации о настройках, путях к файлам и других системных параметрах. Они доступны для всех процессов, выполняемых в системе. И наследуются всеми оболочками, запускаемыми в ОС.

К переменным среды в Linux относятся:

  • PATH — содержит список каталогов, в которых операционная система ищет исполняемые файлы, когда пользователь вводит команды в терминале;
  • HOME — определяет домашний каталог пользователя;
  • USER — содержит имя текущего пользователя.

Допустим, что нам нужно вывести информацию об учетной записи текущего пользователя в системе. Чтобы выполнить эту задачу, будем использовать файл /etc/passwd и переменную USER в следующей команде:

 

var-user awk

Подробно разберем синтаксис команды:

  1. -F:  — опция, которая устанавливает двоеточия (:) в качестве разделителя полей для входных данных.
  2. -v user=$USER — опция, которая присваивает переменной user значение переменной среды USER.
  3. '$1 == user {print}' — шаблон, который проверяет, равно ли значение первого поля текущей строки значению переменной user. Если да, то строка направляется на стандартный вывод.
  4. /etc/passwd — путь к файлу, который содержит информацию об учетных записях пользователей в операционной системе.

Как использовать переменные командной строки в AWK

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

Например, создадим переменную username и присвоим ей значение root. Далее будем использовать ее, чтобы найти информацию о пользователе root в файле /etc/passwd:

 

username awk

Этот код выполняет следующие действия:

  1. Команда cat /etc/passwd выводит содержимое файла /etc/passwd.
  2. Вывод предыдущей команды передается с помощью конвейера (|) в качестве ввода для программы awk.
  3. Опция -v name="$username" определяет переменную name и присваивает ей значение из переменной $username.
  4. Выражение $0 ~ name проверяет, соответствует ли содержимое текущей строки в файле /etc/passwd значению переменной name.
  5. Если текущая строка соответствует значению переменной name, то команда print $0 выводит эту строку на экран.

Выводы

В данной статье мы рассказали о способах применения переменных среды и оболочки shell в 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.
Вы должны согласиться с условиями для продолжения


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

Свежие комментарии

Меню