google-cloud-platform - 命令从谷歌云存储桶中的文件中的“字符串”的grep中查找文件名?
问题描述
我在 GCS 存储桶中有很多文件,我想找到包含我的数据的文件名(例如:grep "APPLE")。有没有办法根据 grep 命令找到文件名?
以下命令仅产生具有相应行的数据,但我想找到 grep 数据所在的文件名
gsutil cat gs://my-bucket/part-2020-01-09** | grep 'APPLE'
有没有办法找到相应的文件名?
解决方案
为此,我将编写如下脚本:
for i in $(gsutil ls gs://my-bucket/part-2020-01-09**)
do
gsutil cat ${i} | grep 'APPLE' > /dev/null
if [ "${?}" == "0" ]
then
echo ${i}
fi
done
但它不如 cat 高效,因为它为每个文件执行 API 调用。我不知道您拥有的文件数量以及它是否是可接受的解决方案。
推荐阅读
- python - Chainer - 在 ImageNet 子集上训练 GoogLeNet
- javascript - 当我们打开 PDF / 任何文件时如何删除 window.open 中的选项选项卡
- c - UNIX 网络编程中的前缀是什么意思?
- facebook - Facebook sdk 控制台错误
- jakarta-ee - 在 Apache Ignite 中使用 Externalizable
- delphi - 我应该使用 FireDAC 将 FDGuixWaitCursor 添加到我的应用程序中吗?
- java - 无法在 Kafka Streams 应用程序中查询本地状态存储
- c++ - 套接字缓冲区到字符串
- php - 使用 Mattwebsite excel 导出时如何删除数组键?
- c# - 从基色生成十六进制颜色代码