項目のリストを含むファイルがあり、各項目は別々の行にあります。
Apigee API,
BigQuery API,
Cloud Build API
gcloudコマンドを使用してgcloud services list --available
ターミナルサービスを一覧表示していますが、出力は次のようになります。
bigquery.googleapis.com BigQuery API
gcloud命令を実行した後、上記のリストの各項目に対してgrepを実行し、関連内容を新しいファイルに出力したい*.googleapis.com
が、grep命令を使用する際にいくつかの問題があります。
gcloud services list --available | grep -F -f list.txt associatedfile.txt
このようなことを試しましたがassociatedfile.txt
。
答え1
パイプラインが次の場合
gcloud services list --available | grep -F -f list.txt associatedfile.txt
これは、出力ではなくテキストからテキストを読み取ってフィルタリングしますgrep
。 1つ以上のパス名がコマンドラインからオペランドとして指定されている場合、ユーティリティは標準入力ストリームを読み取ることはありません。associatedfile.txt
gcloud
grep
gcloud
出力をフィルタリングgrep
して結果出力を書き込むには、associatedfile.txt
リダイレクトを使用します。
gcloud services list --available | grep -F -f list.txt >associatedfile.txt
また、各行の末尾にあるカンマが実際のクエリの一部ではない場合は削除する必要があります。