【AWS CLI】S3上の複数のファイルを削除する【ワイルドカード】

AWS CLIで
 ・S3上の複数のファイルを削除
できます!

サンプルコマンド

ここでは例として
 ・バケット「tmp12345/sub1」配下のファイル「sub*.txt」を削除
します。
※今回はファイル「sub_001.txt」と「sub_002.txt」が削除されます。

削除対象となるのは「sub_001.txt」と「sub_002.txt」の2ファイル
削除対象となるのは「sub_001.txt」と「sub_002.txt」の2ファイル


構文は以下です。

aws s3 rm s3://バケット名/フォルダ名/ --exclude "*" --include "削除したいファイル(ワイルドカードを使用)" --recursive --profile プロファイル名


実行例は以下です。

aws s3 rm s3://tmp12345/sub1/ --exclude "*" --include "sub*.txt" --recursive --profile develop

オプション「exclude」に「*」を指定します。
※意味は「全てのオブジェクトを対象外」です。

オプション「include」に「削除したいファイル(ワイルドカードを使用)」を指定します。
※「ワイルドカードを使用して対象としたいオブジェクト」を指定します。
※オプション「exclude」を指定しないと、オプション「include」は有効になりません。
※オプション「exclude」は必ず指定してください。指定しないとオプション「include」が有効とならずに、指定したフォルダ配下のオブジェクトが全て削除されてしまいます。

オプション「exclude」により「全てのオブジェクトを対象外」にした上で、オプション「include」により(削除)対象を指定します。

オプション「recursive」を使用します。
※意味は「再帰的に実行」です。このオプションを指定しないと何も削除されません。

状況に合わせて以下を変更してください。

・バケット名/フォルダ名/
・プロファイル名

実行結果

S3上の複数のファイルを削除できました。
※ファイル「sub_001.txt」と「sub_002.txt」の2ファイルを削除できました。

実行結果①
実行結果②

参考①

オプション「dryrun」を使用すると、テスト実行となります。(実際に削除されたりしません)。

テスト実行
テスト実行

参考②

「aws s3 rm」の詳細は、公式サイトをご確認ください。

タイトルとURLをコピーしました