سؤال

يأخذ 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

سيتم فرزه في تاريخ الالتزام أخيرًا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top