Amazon s3 在AmazonS3中重命名文件
我想将AmazonS3存储桶中的所有文件的扩展名从.PDF重命名为.PDF(小写) 已经有人这么做了吗?有很多文件(大约1500个)。S3cmd是最好的方法吗?你会怎么做Amazon s3 在AmazonS3中重命名文件,amazon-s3,cmd,Amazon S3,Cmd,我想将AmazonS3存储桶中的所有文件的扩展名从.PDF重命名为.PDF(小写) 已经有人这么做了吗?有很多文件(大约1500个)。S3cmd是最好的方法吗?你会怎么做 s3cmd --recursive ls s3://bucketname | awk '{ print $4 }' | grep "*.pdf" | while read -r line ; do s3cmd --recursive mv s3://<s3_bucketname>/$line
s3cmd --recursive ls s3://bucketname |
awk '{ print $4 }' | grep "*.pdf" | while read -r line ; do
s3cmd --recursive mv s3://<s3_bucketname>/$line/ s3://<s3_bucketname>/${line%.*}".PDF"
done
以前
ls
a1.pdf a2.pdf a4.pdf a6.pdf a8.pdf grep.sh
a10.pdf a3.pdf a5.pdf a7.pdf a9.pdf
脚本文件grep.sh
#/bin/bash
ls |grep .pdf | while read -r line ; do # here use ls from s3
echo "Processing $line"
# your s3 code goes here
mv $line ${line%.*}".PDF"
done
添加权限并重试
chmod u+x grep.sh
./grep.sh
之后
您可以应用相同的逻辑。与其使用s3
mv
不如使用s3mv
问题是:如何使用.PDF查找文件,以及如何使用s3cmd进行此循环?命令可能需要一些更改,我无法访问s3进行测试,但您可以尝试一下。我没有成功地使命令工作。它应该将文件名中的所有“.PDF”替换为“.PDF”?逻辑是获取扩展名为.PDF
的文件,然后在循环中应用mv
命令来重命名它们。我会尽量把同样的地方版本,以便你会得到一个想法。您可以对s3mv
应用相同的方法。我收到消息“错误替换”。你知道它来自哪里吗?请注意,你实际上不能重命名上传的文件。您只能使用新名称复制它们
chmod u+x grep.sh
./grep.sh
ls
a1.PDF a2.PDF a4.PDF a6.PDF a8.PDF grep.sh
a10.PDF a3.PDF a5.PDF a7.PDF a9.PDF