grepに一致するstdoutを使用してファイルの値をどのようにリストできますか?

grepに一致するstdoutを使用してファイルの値をどのようにリストできますか?

項目のリストを含むファイルがあり、各項目は別々の行にあります。

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.txtgcloudgrep

gcloud出力をフィルタリングgrepして結果出力を書き込むには、associatedfile.txtリダイレクトを使用します。

gcloud services list --available | grep -F -f list.txt >associatedfile.txt

また、各行の末尾にあるカンマが実際のクエリの一部ではない場合は削除する必要があります。

おすすめ記事