Упражнение. Использование Bash и grep для фильтрации выходных данных CLI
До сих пор вы выполняли команды Bash сами по себе. Однако Bash проявляет всю свою мощь в сочетании с другими инструментами, поэтому давайте попробуем использовать Bash для фильтрации выходных данных из Azure CLI.
Допустим, вы хотите увидеть актуальный список размеров виртуальных машин, доступных в западном регионе Azure. Это можно сделать с помощью следующей команды:
az vm list-sizes --location westus --output table
В результате вы должны увидеть длинный список типов виртуальных машин. Чтобы сократить список и оставить в нем только виртуальные машины нужного размера, можно использовать
grep
— универсальную программу сопоставления шаблонов в Linux. Чтобы найти размеры DS, которые часто выбираются для задач обработки и анализа данных, используйте следующую команду:az vm list-sizes --location westus --output table | grep DS
Эта команда передает выходные данные команды
az
вgrep
, которая отбрасывает строки, не содержащие строку "DS".Однако виртуальных машин все еще много. Вы знаете, что виртуальные машины DS V2 являются самыми современными. Давайте настроим команду
grep
, чтобы использовать более сложное регулярное выражение:az vm list-sizes --location westus --output table | grep DS.*_v2
Эта команда отфильтровывает строки, которые не соответствуют регулярному выражению
DS.*_v2
. Вы можете узнать некоторые символы в этом выражении — мы рассматривали подстановочные знаки в предыдущем уроке. В регулярных выражениях широко используются подстановочные знаки.Регулярные выражения — тема из другого модуля, но они очень подходят для создания скриптов Bash.
При использовании Bash существенно упрощается работа с другими командами CLI. А так как работа системного администратора никогда не кончается, пригодятся все средства, позволяющие уменьшить рабочую нагрузку.