数千のフォルダーとそれらのフォルダー内の多くの txt ファイルを含む S3 バケットがあります。
バケット内のすべての txt ファイルを一覧表示して、それらが削除可能かどうかを確認したいと思います。それらが存在する場合は、それらを削除します。
s3cmdでこれを行う方法はありますか?
数千のフォルダーとそれらのフォルダー内の多くの txt ファイルを含む S3 バケットがあります。
バケット内のすべての txt ファイルを一覧表示して、それらが削除可能かどうかを確認したいと思います。それらが存在する場合は、それらを削除します。
s3cmdでこれを行う方法はありますか?
これはかなり単純ですが、チェックをどの程度洗練させたいかによって異なります。ファイル名に「foo」が含まれるすべてのテキスト ファイルを削除するとします。
s3cmd --recursive ls s3://mybucket |
awk '{ print $4 }' | grep "*.txt" | grep "foo" | xargs s3cmd del
grep で処理できるよりも高度なチェックが必要な場合は、最初の 3 つのコマンドをファイルにリダイレクトしてから、ファイルを手動で編集するか、お気に入りのツールを使用awk
しperl
てcat
、出力をs3cmd
(チェックに応じて、パイピングでもすべて行うことができます):
s3cmd --recursive ls s3://mybucket | awk '{ print $4 }' | grep "*.txt" > /tmp/textfiles
magic-command-to-check-filenames /tmp/textfiles
cat /tmp/textfiles | xargs s3cmd del