Упражнение. Использование Bash и grep для фильтрации выходных данных CLI

Завершено

До сих пор вы выполняли команды Bash сами по себе. Bash является мощным при сочетании с другими инструментами, поэтому давайте посмотрим, как использовать Bash для фильтрации выходных данных из Azure CLI.

  1. Предположим, что вы хотите просмотреть актуальный список размеров виртуальной машины, доступных в регионе Azure в западной части Azure. Это можно сделать с помощью следующей команды:

    az vm list-sizes --location westus --output table
    
  2. В результате вы должны увидеть длинный список типов виртуальных машин. Чтобы сузить этот список до размеров виртуальных машин, интересующих вас, можно использовать grepуниверсальную программу сопоставления шаблонов Linux. Чтобы найти размеры DS, которые часто выбираются для задач обработки и анализа данных, используйте следующую команду:

    az vm list-sizes --location westus --output table | grep DS
    

    Эта команда передает выходные данные команды az в grep, которая отбрасывает строки, не содержащие строку "DS".

  3. Однако виртуальных машин все еще много. Вы знаете, что виртуальные машины DS V2 являются самыми современными. Давайте настроим команду grep, чтобы использовать более сложное регулярное выражение:

    az vm list-sizes --location westus --output table | grep DS.*_v2
    

    Эта команда отфильтровывает строки, которые не соответствуют регулярному выражению DS.*_v2. Вы можете узнать некоторые символы в этом выражении — мы рассматривали подстановочные знаки в предыдущем уроке. В регулярных выражениях широко используются подстановочные знаки.

    Регулярные выражения — тема из другого модуля, но они очень подходят для создания скриптов Bash.

При использовании Bash существенно упрощается работа с другими командами CLI. А так как работа системного администратора никогда не кончается, пригодятся все средства, позволяющие уменьшить рабочую нагрузку.