Comment trier la sortie de « ls » s3cmd
Question
Amazon "ls s3cmd" prend comme cette sortie:
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>
Comment sélectionner tous les fichiers d'archives, se terminant à 00 ... XX, avec la dernière date de fileset?
La date et l'heure ne sont pas triées.
Bash, regexp?
Thanx!
La solution
DATE=$(s3cmd ls | sort -n | tail -n 1 | awk '{print $1}')
s3cmd ls | grep $DATE
tri en nombre schould mis les dates les plus jeunes dernière. Queue prend -n1 la dernière ligne, awk coupe le premier mot qui est la date. Utiliser pour obtenir toutes les entrées de cette date.
Mais peut-être que je ne comprenais pas la question - donc vous devez reformuler. Vous nous dites « date et l'heure ne sont pas triées » et fournir un exemple où ils sont triés - vous demander la date, mais toutes les entrées ont la même date.
Autres conseils
s3cmd ls s3://bucket/path/ | sort -k1,2
Ce sera trier par date ascendante.
Essayez
Cette syntaxe de commande est s3 ls s3: // chemin du seau / fichiers | sorte
s3cmd ls s3://file1.tgz.00<br> | sort
Il triera la date descendante à la fin