[amazon-web-services] AWS CLI에서 와일드 카드를 사용하여 파일 그룹을`cp`하려면 어떻게해야합니까?

*특정 버킷에서 파일의 하위 집합을 선택하기 위해 AWS CLI에서 사용 하는 데 문제 가 있습니다.

*이와 같은 경로에 추가 하는 것이 작동하지 않는 것 같습니다.

aws s3 cp s3://data/2016-08* .



답변

현재 디렉토리에 AWS 버킷에서 여러 파일을 다운로드하려면, 당신은 사용할 수 있습니다 recursive, exclude그리고 include이 같은 플래그 :

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


답변

매개 변수의 순서가 중요합니다

제외 및 포함은 특정 순서로 사용해야합니다. 먼저 제외하고 포함해야합니다. 그 반대는 성공하지 못할 것입니다.

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

이 경우 매개 변수의 순서가 일치하므로 실패합니다. 포함은 *로 제외됩니다.

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

이것은 우리가 모든 것을 제외했지만 나중에 특정 디렉토리를 포함했기 때문에 작동합니다.


답변

좋습니다. 예가 틀 렸으며 다음과 같이 수정해야합니다.

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

.필요는 후 잘 될 수 있습니다 cp. 마지막 --exclude으로 사용자가 선택한 하위 디렉토리에서 아무것도 선택하지 않도록하는 것입니다.--recursive (실수로 배운) .

이것은 그들이 여기에 도착할 때까지 이것으로 어려움을 겪는 모든 사람들에게 효과적입니다.


답변