В скриптовом языке AWK переменные помогают выполнять различные операции с данными. В этой статье мы покажем способы использования переменных среды и оболочки shell в AWK и расскажем про основные правила цитирования. Эти переменные помогут Вам значительно облегчить работу с документами и сделать код более гибким.
Также советуем ознакомиться с одиннадцатой статьей из цикла: Как использовать переменные shell в AWK.
Содержание:
Как использовать переменные среды в AWK
Переменные среды в Linux — это переменные, используемые операционной системой для хранения информации о настройках, путях к файлам и других системных параметрах. Они доступны для всех процессов, выполняемых в системе. И наследуются всеми оболочками, запускаемыми в ОС.
К переменным среды в Linux относятся:
PATH
— содержит список каталогов, в которых операционная система ищет исполняемые файлы, когда пользователь вводит команды в терминале;HOME
— определяет домашний каталог пользователя;USER
— содержит имя текущего пользователя.
Допустим, что нам нужно вывести информацию об учетной записи текущего пользователя в системе. Чтобы выполнить эту задачу, будем использовать файл /etc/passwd
и переменную USER
в следующей команде:
Подробно разберем синтаксис команды:
-F:
— опция, которая устанавливает двоеточия (:
) в качестве разделителя полей для входных данных.-v user=$USER
— опция, которая присваивает переменнойuser
значение переменной средыUSER
.'$1 == user {print}'
— шаблон, который проверяет, равно ли значение первого поля текущей строки значению переменнойuser
. Если да, то строка направляется на стандартный вывод./etc/passwd
— путь к файлу, который содержит информацию об учетных записях пользователей в операционной системе.
Как использовать переменные командной строки в AWK
Переменные shell — это переменные, созданные в оболочке командной строки для хранения значений, которые могут быть использованы различными программами или скриптами. Эти переменные обычно содержат различные типы данных, такие как текстовые строки, числа, логические значения и т. д. В них также можно записать информацию о текущей среде, параметры командной строки, настройки оболочки. Пользователи могут самостоятельно установить / изменить / удалить переменные shell.
Например, создадим переменную username
и присвоим ей значение root
. Далее будем использовать ее, чтобы найти информацию о пользователе root
в файле /etc/passwd
:
Этот код выполняет следующие действия:
- Команда
cat /etc/passwd
выводит содержимое файла/etc/passwd
. - Вывод предыдущей команды передается с помощью конвейера (
|
) в качестве ввода для программыawk
. - Опция
-v name="$username"
определяет переменнуюname
и присваивает ей значение из переменной$username
. - Выражение
$0 ~ name
проверяет, соответствует ли содержимое текущей строки в файле/etc/passwd
значению переменнойname
. - Если текущая строка соответствует значению переменной
name
, то командаprint $0
выводит эту строку на экран.
Выводы
В данной статье мы рассказали о способах применения переменных среды и оболочки shell в 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.