使用过滤器将文件从一个目录复制到另一个目录

使用过滤器将文件从一个目录复制到另一个目录

我的源文件夹中有这些文件

source_path/date=20191230/somefile.txt
source_path/date=20191231/somefile.txt
source_path/date=20200101/somefile.txt
source_path/date=20200102/somefile.txt

如果我执行以下命令,所有文件都将复制到我的 dest_path 文件夹中

cp --recursive source_path/date=20200* dest_path/

它在我的本地机器上完美运行

我只是根据需要将这些文件复制到我的 dest_path

source_path/date=20200101/somefile.txt
source_path/date=20200102/somefile.txt

当我在 aws 中复制同样的事情时,问题就出现了。我使用此命令从 S3 复制到我的 Ec2 实例

aws s3 cp --recursive s3://source_path/date=20200* home/ec2-user/dest_path/

这不起作用,也没有给出错误,它只是给出了这个输出

0.35user 0.05system 0:00.48elapsed 85%CPU (0avgtext+0avgdata 50660maxresident)k
0inputs+0outputs (0major+17977minor)pagefaults 0swaps

答案1

朋克摇滚波利在 Stack Overflow 上的回答(发现于萨纳西普):


要将多个文件从 aws 存储桶下载到当前目录,您可以使用recursiveexcludeinclude标志。 参数的顺序很重要。

命令示例:

aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"

有关如何使用这些过滤器的更多信息:http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters

相关内容