2016-12-27 11 views
1

Linuxシェルスクリプトを使用してAWS s3バケットで最後に追加したファイルを取得しようとしています。 私はこの仕事をどのようにすることができますか教えていただけますか?シェルスクリプト - AWS s3バケット、最後に追加したファイルを見つけよう

+0

何を印刷します - 最後のファイル

  • awk '{print $2}'を返しますか?好ましくは正確なエラーメッセージまたは問題の説明が付いていますか? S3バケツが何であるか説明できますか?それはディレクトリですか? – Jens

  • +0

    あなたがそれを使用することが許されている小さなヒント:ファイル名とソートファイルのヘッダーとしてタイムスタンプを使用して、それらを照会します。例:1939847568_my_file_name – Conti

    答えて

    0

    1つの方法は、最後に追加されたファイルを取得するために出力をs3cmdsortという出力を使用することです。

    s3cmd ls s3://{{bucket}} | sort | tail -n 1 | awk '{print $2}' 
    
    • sort - 作成時間
    • tail -n 1で出力をソート - ファイル名あなたは私たちを見ることができます試してみました
    0

    これはできません。 S3はデータベースやファイルシステムではありません。

    aws s3api list-objects --bucket "YOURBUCKET" --query 'Contents[?LastModified>=2016-12-27][].{Key: Key}' 
    

    そして、あなたが唯一の追加されたオブジェクト、変更されていないが必要な場合は、あなたが作成する必要があります:

    しかし、S3クエリを使用すると、特定の日付以降に作成または変更されたオブジェクトのリストを要求することができますカスタムメタデータ属性、そのカスタム属性に基づいてオブジェクトとクエリで保存します。

    関連する問題