web-dev-qa-db-ja.com

AWS CLIでワイルドカードを使用してファイルのグループを「cp」にするにはどうすればよいですか

AWS CLIで*を使用して特定のバケットからファイルのサブセットを選択するのに問題があります。

このようなパスに*を追加しても機能しないようです

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

70
metersk

Awsバケットから現在のディレクトリに複数のファイルをダウンロードするには、次のようにrecursiveexclude、および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

110
punkrockpolly

パラメーターの順序

Excludeおよびincludeは特定の順序で使用する必要があります。最初にexcludeおよびincludeする必要があります。その逆は成功しません。

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

この場合、パラメーターの順序が重要であるため、これは失敗します。インクルードは*で除外されます

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

これは機能しますが、これはすべてを除外したが、後で特定のディレクトリを含めたためです。

33
Achyuth