Amazon web services AWS:通过CLI将S3文件名更改为小写

Amazon web services AWS:通过CLI将S3文件名更改为小写,amazon-web-services,amazon-s3,lowercase,Amazon Web Services,Amazon S3,Lowercase,我(不知不觉地)将文件上传到我的S3存储桶中,其中大多数文件都是大写字母。 是否有一个命令,我可以用来重命名/更改他们的名字为所有小写。 我需要进行批量更改,不能使用特定的文件名,因为需要对bucket中的所有文件进行更改。没有子文件夹,所有文件都在根目录中。您可以运行如下操作。将bucket name替换为S3 bucket name 对于以美元表示的i(aws s3 ls s3://bucket name | awk'{print$4}');执行aws s3 mv s3://bucket n

我(不知不觉地)将文件上传到我的S3存储桶中,其中大多数文件都是大写字母。 是否有一个命令,我可以用来重命名/更改他们的名字为所有小写。
我需要进行批量更改,不能使用特定的文件名,因为需要对bucket中的所有文件进行更改。没有子文件夹,所有文件都在根目录中。

您可以运行如下操作。将
bucket name
替换为S3 bucket name

对于以美元表示的i(aws s3 ls s3://bucket name | awk'{print$4}');执行aws s3 mv s3://bucket name/$i s3://bucket name/`echo$i|tr'A-Z'A-Z';完成


为了避免出现故障时回滚,我是否可以将操作限制为top 10或其他内容?是的,将
head-10
添加到文件列表部分-
$(aws s3 ls s3://bucket name | awk'{print$4}'| head-10)
使用
| head-20 | tail-10
获取接下来的10行,并相应增加head的计数。谢谢Prabu,但是“for i”给了我一个错误。是否可能我正在使用不同版本的AWS CLI?不确定这是否适用于所有linux/unix计算机。为什么不尝试使用更简单的版本在本地测试i(单位:ls);do echo$i小写为'echo$i | tr'A-Z'A-Z';完成