كيفية فرز إخراج "S3CMD LS"
سؤال
يأخذ Amazon "S3CMD LS" مثل هذا الإخراج:
2010-02-20 21:01 1458414588 s3://file1.tgz.00<br>
2010-02-20 21:10 1458414527 s3://file1.tgz.01<br>
2010-02-20 22:01 1458414588 s3://file2.tgz.00<br>
2010-02-20 23:10 1458414527 s3://file2.tgz.01<br>
2010-02-20 23:20 1458414588 s3://file2.tgz.02<br>
<br>
كيفية تحديد جميع ملفات الأرشيف ، تنتهي في 00 ... xx ، مع أحدث تاريخ لمجموعة الملفات؟
لم يتم فرز التاريخ والوقت.
باش ، regexp؟
شكرا!
المحلول
DATE=$(s3cmd ls | sort -n | tail -n 1 | awk '{print $1}')
s3cmd ls | grep $DATE
الفرز كرقم schould وضع أصغر التواريخ الأخيرة. Tail -N1 يأخذ السطر الأخير ، وقطع awk الكلمة الأولى وهي التاريخ. استخدم ذلك للحصول على جميع إدخالات ذلك التاريخ.
لكن ربما لم أفهم السؤال - لذلك عليك إعادة صياغته. تخبرنا "التاريخ والوقت لم يتم فرزهم" وتقديم مثال حيث يتم فرزهما - تطلب آخر تاريخ ، ولكن جميع الإدخالات لها نفس التاريخ.
نصائح أخرى
s3cmd ls s3://bucket/path/ | sort -k1,2
هذا سوف الفرز حسب التاريخ الصعود.
محاولة
بناء جملة الأمر هذا هو S3 LS S3: // مسار الدلو/ الملفات | فرز
s3cmd ls s3://file1.tgz.00<br> | sort
سيتم فرزه في تاريخ الالتزام أخيرًا
لا تنتمي إلى StackOverflow