Box*_*uan 5 shell amazon-s3 s3cmd
我需要从包含特定字符的S3存储桶中计算压缩(.gz)文件中的条目数.我怎么能这样做?
具体来说,我的S3桶是s3://mys3.com/.在此之下,有数千个桶如下:
s3://mys3.com/bucket1/
s3://mys3.com/bucket2/
s3://mys3.com/bucket3/
...
s3://mys3.com/bucket2000/
Run Code Online (Sandbox Code Playgroud)
在每个桶中,有大约数百个压缩(.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
Run Code Online (Sandbox Code Playgroud)
每个压缩文件包含大约20,000个JSON对象(每个JSON对象是一行).在每个JSON对象中,都有某些字段包含单词"request".我想计算包含单词"request"的bucket1中有多少个JSON对象.我尝试了这个,但它不起作用:
zcat s3cmd --recursive ls s3://mys3.com/bucket1/ | grep "request" | wc -l
Run Code Online (Sandbox Code Playgroud)
我没有太多的shell经验,所以有人可以帮助我吗?谢谢!
如果有人有兴趣:
s3cmd ls --recursive s3://mys3.com/bucket1/ | awk '{print $4}' | grep '.gz' | xargs -I@ s3cmd get @ - | zgrep 'request' | wc -l
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4416 次 |
| 最近记录: |