如何在Amazon S3中找到零字节文件

ajr*_*eal 8 amazon-s3 s3cmd

有没有办法以编程方式在Amazon S3中找到零字节文件?

桶的总大小超过100G,
我不太可能同步回服务器,然后做一个

find . -size 0 -type f
Run Code Online (Sandbox Code Playgroud)

MeS*_*See 12

将s3cmd与awk结合起来应该可以轻松完成.

注意:s3cmd输出4列,日期,时间,大小和名称.您希望将大小(第3列)与0匹配,并输出对象名称(第4列).这应该是诀窍......

$ s3cmd ls -r s3://bucketname | awk '{if ($3 == 0) print $4}'
s3://bucketname/root/
s3://bucketname/root/e
Run Code Online (Sandbox Code Playgroud)

如果你想查看所有信息,只需删除$ 4,这样它就只能打印.

$ s3cmd ls -r s3://bucketname | awk '{if ($3 == 0) print}' 
2013-03-04 06:28         0   s3://bucketname/root/
2013-03-04 06:28         0   s3://bucketname/root/e
Run Code Online (Sandbox Code Playgroud)

在记忆方面,这应该没问题,因为它是一个简单的桶列表.

  • 这也适用于awscli包.语法是`aws s3 ls --recursive s3:// bucketname | awk'{if($ 3 == 0)print $ 4}'` (6认同)

Tej*_*ran 4

在 amazon s3 上没有直接的过程来搜索零字节大小的文件。您可以通过列出所有对象,然后根据大小对这些项目进行排序,然后您可以将所有零文件大小放在一起。

如果您想获取所有大小为零的文件的列表,那么您可以使用 Bucket Explorer 并列出所选存储桶的对象,然后单击大小标题(按大小排序),它将把零字节大小的文件放在一起。

披露:我是 Bucket Explorer 的开发人员。