Amazon s3 使用aws s3 mv命令时引发的“文件不存在”

Amazon s3 使用aws s3 mv命令时引发的“文件不存在”,amazon-s3,aws-cli,Amazon S3,Aws Cli,我想使用通配符命令将多个.gz文件上载到s3存储桶。命令是: /usr/bin/aws s3 mv/path/File-$date-d昨天13:00'+%d-%m-%Y'-*s3://bucket/$date-d昨天13:00'+年=\%Y/月=\%m/日=\%d'/filetype/-recursive-exclude*-include*.log.gz 我使用相同的命令将其他文件上载到s3。但在这种情况下,它似乎不起作用,因为它发出了警告: 警告:正在跳过文件/path/file-03-03-

我想使用通配符命令将多个.gz文件上载到s3存储桶。命令是:

/usr/bin/aws s3 mv/path/File-$date-d昨天13:00'+%d-%m-%Y'-*s3://bucket/$date-d昨天13:00'+年=\%Y/月=\%m/日=\%d'/filetype/-recursive-exclude*-include*.log.gz 我使用相同的命令将其他文件上载到s3。但在这种情况下,它似乎不起作用,因为它发出了警告:

警告:正在跳过文件/path/file-03-03-2020-1.log.gz/。文件不存在

看起来该命令将文件-03-03-2020-1.log.gz视为文件夹,而不是文件。这与aws s3同步的行为相同,但我认为这对于aws s3 mv是不正确的行为

我哪里出错了?

基于的评论,针对您的场景

/usr/bin/aws s3 mv /path/ s3://bucket/$(date -d "yesterday 13:00" '+year=\%Y/month=\%m/day=\%d')/filetype/ --recursive --exclude "*" --include "File-$(date -d "yesterday 13:00" '+%d-%m-%Y')-*.log.gz"
可能是命令

我想你的第一个*被贝壳取代了。尝试将源参数指向文件夹,并将与文件名相关的所有通配符放在包含部分。