フィルタを使用してあるディレクトリから別のディレクトリにファイルをコピーする

フィルタを使用してあるディレクトリから別のディレクトリにファイルをコピーする

私のソースフォルダにこれらのファイルがあります

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

~からパンクロロックポリ~のスタックオーバーフローに対する回答(で見つかりましたサナシップ):


AWSバケットから現在のディレクトリに複数のファイルをダウンロードするには、recursiveフラグを使用できます。 excludeincludeパラメータの順序が重要です。

コマンド例:

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

関連情報