无需手动指定日期,如何用Google Cloud CLI检索GCS存储桶中当日文件?
检索Google Cloud Storage中带当日日期标识的文件方法
一、通过文件名/路径中的日期标识检索
GCloud CLI本身没有内置类似sysdate的命令,但可以借助系统Shell的日期工具动态生成当日日期,再结合gsutil命令筛选文件:
生成当日日期变量
根据你的文件日期标识格式(比如YYYY-MM-DD、YYYYMMDD),在Shell中生成对应的日期字符串:# Bash/Linux环境,生成YYYY-MM-DD格式的日期 TODAY=$(date +%Y-%m-%d) # macOS环境,生成YYYY-MM-DD格式的日期 TODAY=$(date -j +%Y-%m-%d) # PowerShell环境,生成yyyy-MM-dd格式的日期 $TODAY = Get-Date -Format "yyyy-MM-dd"用gsutil匹配带当日日期的文件
使用通配符*匹配文件名或路径中包含当日日期的文件,递归检索用**:# Bash/Linux/macOS gsutil ls "gs://你的存储桶名称/**/*${TODAY}*" # PowerShell gsutil ls "gs://你的存储桶名称/**/*$TODAY*"示例:如果存储桶
gs://my-logs下的文件路径是gs://my-logs/2024-05-20/app.log,执行命令后会列出所有路径或文件名包含2024-05-20的文件。
二、按文件实际创建时间检索(非文件名标识)
如果需要筛选当日创建的文件(不管文件名是否带日期),可以结合gsutil ls -l的输出和文本过滤工具:
# Bash环境,筛选当日创建的文件(ls -l输出的日期字段为YYYY-MM-DD格式) TODAY=$(date +%Y-%m-%d) gsutil ls -l gs://你的存储桶名称/** | awk -v dt="$TODAY" '$4 == dt'
注意:gsutil ls -l的日期输出格式可能因系统或地区设置不同,需要调整date命令的格式参数,确保和awk匹配的字段格式一致。
关于内置日期命令的说明
GCloud CLI(包括gcloud和gsutil)没有内置的sysdate或createdate类命令,必须依赖系统本身的日期工具来实现动态日期的生成和匹配。
内容的提问来源于stack exchange,提问作者SUNITH
相关产品推荐
相关产品推荐

