如何使用 gsutil 命令列出 gcs 存储桶中的所有文件(包含所有文件夹)以匹配文件内容中的特定字符串

Posted

技术标签:

【中文标题】如何使用 gsutil 命令列出 gcs 存储桶中的所有文件(包含所有文件夹)以匹配文件内容中的特定字符串【英文标题】:How do I list all files in gcs bucket (with all folder) for a specific string match in the file content using gsutil command 【发布时间】:2021-07-29 20:10:41 【问题描述】:

我想列出 gcs 存储桶中的文件,其中包含文件内容中特定字符串模式的多个文件夹。有没有使用 gustil 的快速解决方案?

【问题讨论】:

【参考方案1】:
#!/bin/bash
read -p "Enter gcs path : " gcs_path
read -p "Enter pattern : " pattern
path=$gcs_path**
#pattern=$2
echo "loading the list of files.."
gsutil ls -h $path > gcs_list.txt
echo "Looking for the pattern from the list...."
while read -r line ; do
##echo "Reading line :  $line"
if      gsutil cat $line | grep -q "$pattern"  ; then
        #true
        echo " Match found for $line"
fi
done < gcs_list.txt
echo "Pattern search done!!"

这会奏效。如果有人有更好的解决方案,请更新相同的

【讨论】:

以上是关于如何使用 gsutil 命令列出 gcs 存储桶中的所有文件(包含所有文件夹)以匹配文件内容中的特定字符串的主要内容,如果未能解决你的问题,请参考以下文章

如果不存在文件,则处理 gsutil ls 和 rm 命令错误

Gsutil - 如何使用 Gsutil 检查 GCS 存储桶(子目录)中是不是存在文件

无论如何要在某个时间戳之后 rsync gsutil 文件?

运行 gsutil notification create 命令所需的确切权限是啥?

自定义角色以允许下载文件并禁用 GCS 存储桶中的上传文件

如何使用 gsutil 从 GCE 上的容器中复制存储桶中的文件