我正在启动一个bash脚本,它将在S3中指定一个路径(按照
ls命令指定),并将所有文件对象的内容转储到stdout。基本上我想复制cat / path / to / files / *,除了S3,例如s3cat’/ bucket / path / to / files / *’。我第一个看待选项的倾向是将cp命令用于一个临时文件,然后是cat那个。
有没有人试过这个或类似的,还是有一个命令,我没有找到哪个呢?
dump the contents of all of the file objects to stdout.
如果你通过了aws s3 cp命令的目的地,你可以实现这一点。
例如,$ aws s3 cp s3://mybucket/stream.txt – 。
你想做的是这样的事情? ::
#!/bin/bash BUCKET=YOUR-BUCKET-NAME for key in `aws s3api list-objects --bucket $BUCKET --prefix bucket/path/to/files/ | jq -r '.Contents[].Key'` do echo $key aws s3 cp s3://$BUCKET/$key - | md5sum done