web-dev-qa-db-ja.com

ワイルド文字を使用してaws s3からファイルを選択する方法

S3バケットに多数のファイルがあり、開始日が2012年のファイルをコピーしたいのですが、以下のコマンドはすべてのファイルをコピーします。

aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive  --include "201502_nts_*.xlsx"
12
user3858193

インクルードフィルターの前に「--exclude」フラグを追加することができます。

AWS CLIは、フィルター「--include」を使用して、既存の検索にそれを含めます。すべてのファイルが返されるため、2015 * .xlsxを含める前に、まずすべてのファイルを除外する必要があります。

「201502_nts _ *。xlsx」形式のみのファイルが必要な場合は、aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive --exclude * --include "201502_nts_*.xlsx"を実行できます。

20
bsnchan

--exclude *ワイルドカードを引用符で囲む必要があるため、次のようになります。

aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive --exclude "*" --include "201502_nts_*.xlsx"
5
RodgerDodger

何度もチェックを行ってbsnchanから助けを得た後、aws s3 cliでexcludeおよびincludeコマンドを使用できます。スペースを正しく入れてください。

特定のファイルをコピーする場合:

aws s3 cp s3://itx-agj-cons-ww-bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in  --recursive --exclude "*" --include "*%mth_cd%_%source%_all.xlsx"

(mth_cdはbatファイルで使用されるパラメーターです)

ファイルの存在を確認します。

aws s3 ls s3://itx-agj-cons-ww-bp-dev/bp_source_input/ --recursive | FINDSTR  "201502_nts_.*.xlsx"

(注:windows cli、unixの場合はgrepになります)

どうもありがとう。

0
user3858193