演習 - Bash と grep を使用して CLI の出力をフィルター処理する

完了

これまでは、Bash コマンドだけを実行してきました。 Bash は、他のツールと組み合わせると非常に強力なので、Bash を使って Azure CLI からの出力をフィルター処理してみましょう。

  1. Azure の米国西部リージョンで利用可能な VM サイズの最新の一覧を確認したいものとします。 次のコマンドを使うとそれができます。

    az vm list-sizes --location westus --output table
    
  2. 出力として、VM の種類の長い一覧が表示されます。 この一覧を関心のある VM サイズに絞り込むには、Linux のユニバーサル パターン マッチング プログラムである grep を使用できます。 データ サイエンスでよく使われる "DS" サイズを調べるには、次のコマンドを使います。

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

    これにより、az コマンドからの出力が grep にパイプされ、文字列 "DS" が含まれない行は除外されます。

  3. それでもまだ多くの VM があります。 DS V2 VM が新しいシリーズであることがわかっています。 さらに複雑な正規表現を使用するように、grep コマンドを調整してみましょう。

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

    これにより、正規表現 DS.*_v2 と一致しない行が除外されます。 その式に含まれる文字のいくつかは、前のユニットで学習した "ワイルドカード" であることがわかります。 正規表現では、ワイルドカードがよく使われます。

    正規表現は別のモジュールのトピックですが、Bash スクリプトには便利です。

Bash を他の CLI コマンドと共に使うと、後者をより簡単に使用できるようになります。 また、システム管理者の作業には終わらないので、ワークロードが減るツールは推奨されます。