我需要从包含某些字符的 S3 存储桶中计算压缩 (.gz) 文件中的条目数。我怎么能做到?
具体来说,我的 S3 存储桶是s3://mys3.com/
. 在此之下,有数千个桶,如下所示:
s3://mys3.com/bucket1/
s3://mys3.com/bucket2/
s3://mys3.com/bucket3/
...
s3://mys3.com/bucket2000/
在每个存储桶中,大约有数百个压缩 (.gz) JSON 对象,如下所示:
s3://mys3.com/bucket1/file1.gz
s3://mys3.com/bucket1/file2.gz
s3://mys3.com/bucket1/file3.gz
...
s3://mys3.com/bucket1/file100.gz
每个压缩文件包含大约 20,000 个 JSON 对象(每个 JSON 对象是一行)。在每个 JSON 对象中,都有某些字段包含“请求”一词。我想计算 bucket1 中包含“请求”一词的 JSON 对象的数量。我试过了,但没有奏效:
zcat s3cmd --recursive ls s3://mys3.com/bucket1/ | grep "request" | wc -l
我没有很多shell经验,所以有人可以帮助我吗?谢谢!