我只想使用AWS s3 sync命令在AWS上上传名称以0,1和2结尾的目录。例如,我想上传一个目录名anyname0
。
我知道我可以用像这样的特定扩展名结尾的文件来做这件事
aws s3 sync 'D:TestDataActual Data' s3://destination-AWSDOC-EXAMPLE-BUCKET/ --exclude "*" --include "*0.txt" --include "*1.txt" --include "*2.txt"
但是有没有办法把这个东西也应用到目录上呢?请帮忙。
您可以使用以下模式来完成此示例
aws s3 sync 'D:TestDataActual Data'
s3://destination-AWSDOC-EXAMPLE-BUCKET/
--exclude "*"
--include "*anyname0/**"
示例
$ tree
.
├── anyname0
│ ├── 6.txt
│ ├── 7.txt
│ ├── 8.txt
│ └── 9.txt
├── anyname1
│ ├── 6.txt
│ ├── 7.txt
│ ├── 8.txt
│ └── 9.txt
├── anyname2
│ ├── 6.txt
│ ├── 7.txt
│ ├── 8.txt
│ └── 9.txt
├── anyname3
│ ├── 6.txt
│ ├── 7.txt
│ ├── 8.txt
│ └── 9.txt
└── anyname4
├── 6.txt
├── 7.txt
├── 8.txt
└── 9.txt
$ aws s3 sync ./ s3://my-bucket --exclude "*" --include "*anyname0/**" --dryrun
(dryrun) upload: anyname0/6.txt to s3://my-bucket/anyname0/6.txt
(dryrun) upload: anyname0/7.txt to s3://my-bucket/anyname0/7.txt
(dryrun) upload: anyname0/8.txt to s3://my-bucket/anyname0/8.txt
(dryrun) upload: anyname0/9.txt to s3://my-bucket/anyname0/9.txt
还可以做多种图案
$ aws s3 sync ./ s3://my-bucket --exclude "*"
--include "*anyname0/**"
--include "*anyname3/**"
--dryrun
(dryrun) upload: anyname0/6.txt to s3://my-bucket/anyname0/6.txt
(dryrun) upload: anyname0/7.txt to s3://my-bucket/anyname0/7.txt
(dryrun) upload: anyname0/8.txt to s3://my-bucket/anyname0/8.txt
(dryrun) upload: anyname0/9.txt to s3://my-bucket/anyname0/9.txt
(dryrun) upload: anyname3/6.txt to s3://my-bucket/anyname3/6.txt
(dryrun) upload: anyname3/7.txt to s3://my-bucket/anyname3/7.txt
(dryrun) upload: anyname3/8.txt to s3://my-bucket/anyname3/8.txt
(dryrun) upload: anyname3/9.txt to s3://my-bucket/anyname3/9.txt