我正在使用此命令,但无法重命名文件并将文件从一个 s3 文件夹移动到另一个文件夹
我想重命名这个文件并移动
这里 anagaza.csv000 是我想重命名的文件并将其移动到名为 angaza.csv 的movedData 文件夹
一旦我移动文件,我还想要一个更通用的方法,而不是像 anagaza.csv000 这样的文件名,我可以使用像 anaga*.* 或“wildcard.csv*”这样的通配符,但我的目的地应该有名称我选择给哪个是angaza.csv
aws s3 --recursive mv
s3://mygluecrawlerbucket/angaza_accounts/to_be_processed/anagaza.csv000
s3://mygluecrawlerbucket/angaza_accounts/movedData/angaza.csv --profile default
答案 0 :(得分:0)
您可以使用 shell 脚本(mv
或 rename
)生成新的对象名称,然后在 S3 中使用 s3 mv
一一重命名。
要重命名对象的名称,您需要自己编写正则表达式或一些东西。对于使用正则表达式重命名,this SO 会有所帮助。
这是我使用的 sample.sh。
list_objects=$(aws s3 ls s3://oldbucket | awk '{print $4}')
for old_object_name in $list_objects; do
new_object_name=$(...) # mv or rename
aws s3 mv s3://oldbucket/$old_object_name s3://newbucket/$new_object_name
done