我有一个包含项目列表的文件,每个项目都位于单独的行上。
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
读取和过滤文本。如果在命令行上给定一个或多个路径名作为操作数,该实用程序将不会读取其标准输入流。associatedfile.txt
gcloud
grep
gcloud
要过滤的输出grep
并将结果输出写入associatedfile.txt
,请使用重定向:
gcloud services list --available | grep -F -f list.txt >associatedfile.txt
另请注意,如果每行末尾的逗号不是实际搜索词的一部分,则必须删除这些逗号。