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

Завершено

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

  1. Допустим, вы хотите увидеть актуальный список размеров виртуальных машин, доступных в западном регионе 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. А так как работа системного администратора никогда не кончается, пригодятся все средства, позволяющие уменьшить рабочую нагрузку.