6

特定の文字を含む 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 オブジェクトは 1 行です)。各 JSON オブジェクトには、「リクエスト」という単語を含む特定のフィールドがあります。「リクエスト」という単語を含むバケット 1 にある JSON オブジェクトの数を数えたいと思います。私はこれを試しましたが、うまくいきませんでした:

zcat s3cmd --recursive ls s3://mys3.com/bucket1/ | grep "request" | wc -l

シェルの経験があまりないので、誰か助けてもらえますか? ありがとう!

4

1 に答える 1