删除AWS S3 所有的.dat文件

其中,”my-bucket” 是您要删除文件的 S3 存储桶名称。此命令将递归删除存储桶中所有后缀为 “.dat” 的文件。

具体地,--recursive 参数表示递归删除文件夹中的文件。--exclude "*" --include "*.dat" 表示先排除所有文件,再仅包含后缀为 “.dat” 的文件。

请注意,在执行此命令之前,请确保您确实希望删除所有符合条件的文件,并且您具有足够的权限执行此操作。同时,由于该操作是不可逆的,请谨慎执行。

1,使用以下 AWS CLI 命令

aws s3 rm s3://my-bucket/ --recursive --exclude "*" --include "*.dat"

  1. 安装 AWS CLI

要使用 AWS CLI,您需要首先安装它。您可以在此处下载并安装 AWS CLI。

  1. 配置 AWS CLI

在使用 AWS CLI 之前,您需要配置它以访问您的 AWS 帐户。您可以使用 aws configure 命令来配置 AWS CLI。

在命令行中输入以下命令:

aws configure

按照提示输入您的 AWS 访问密钥 ID、秘密访问密钥、默认区域和输出格式即可。

  1. 使用 AWS CLI 进行 S3 操作
  • 列出存储桶

要列出您 AWS S3 帐户中的所有存储桶,请使用以下命令:

aws s3 ls

  • 创建存储桶

要创建一个新的 S3 存储桶,请使用以下命令:

aws s3 mb s3://my-new-bucket-name

其中,"my-new-bucket-name" 是您要创建的新存储桶的名称。
  • 上传文件

要将本地计算机上的文件上传到 S3 存储桶,请使用以下命令:

aws s3 cp /path/to/local/file s3://my-bucket/my-file
其中,"/path/to/local/file" 是本地计算机上文件的路径,"my-bucket" 是存储桶名称,"my-file" 是要上传的文件名称。
  • 下载文件

要将 S3 存储桶中的文件下载到本地计算机,请使用以下命令:

aws s3 cp s3://my-bucket/my-file /path/to/local/file
aws s3 cp s3://my-bucket/my-file /  # 下载到c盘

其中,"my-bucket" 是存储桶名称,"my-file" 是要下载的文件名称,"/path/to/local/file" 是将要保存下载文件的本地路径。
  • 删除文件

要删除 S3 存储桶中的文件,请使用以下命令:

aws s3 rm s3://my-bucket/my-file
其中,"my-bucket" 是存储桶名称,"my-file" 是要删除的文件名称。
  • 删除存储桶

要删除 S3 存储桶,请使用以下命令:

aws s3 rb s3://my-bucket --force

其中,”my-bucket” 是要删除的存储桶名称。请注意,由于 S3 存储桶必须为空才能被删除,因此必须使用 --force 参数强制删除非空存储桶。

这些是 AWS CLI 中使用 S3 操作的一些基本示例。有关 AWS CLI 中可用命令的完整列表,请参阅官方文档

将 d1 存储桶所有的 .dat 文件移动到 d2 存储桶,子目录也移动

aws s3 mv s3://d1.com/ s3://d2.com/ --exclude "*" --include "*.dat" --recursive --exclude "*/"

请注意该命令可能会将您存储桶根目录下的所有 .dat 文件移动到目标存储桶根目录下,如果存在同名文件会被覆盖。因此,在执行该命令之前,建议您确认要移动的文件列表并备份需要保留的文件。

删除d1存储桶根目录下的dat文件

aws s3 rm s3://d1.com/ --recursive --exclude "*" --include "*.dat" --exclude "*/*"

将 d1 存储桶根目录下的 .dat 文件移动到 d2根目录,子目录不移动

aws s3 mv s3://d1.com/ s3://d2.com/ --recursive --exclude "*" --include "*.dat" --exclude "*/*"

2,使用 SDK 提供的 API 删除存储桶中的文件。

例如,使用 AWS SDK for Python (Boto3) 删除所有后缀为 “.dat” 的文件,代码如下:

这将遍历您的 S3 存储桶中的所有对象,并删除所有以 “.dat” 结尾的文件。

请注意,在执行此操作之前,请确保您确实希望删除所有符合条件的文件,并且您具有足够的权限执行此操作。同时,由于该操作是不可逆的,请谨慎执行。

import boto3

s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')

for obj in bucket.objects.filter(Prefix='/', Delimiter='/'):
    if obj.key.endswith('.dat'):
        obj.delete()

Leave a Reply