Cómo ordenar la salida de “ls” s3cmd
Pregunta
Amazon "ls s3cmd" toma como esta salida:
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>
¿Cómo seleccionar todos los archivos de archivo, terminando en 00 ... XX, con la última fecha del conjunto de archivos?
Fecha y hora no está ordenada.
Bash, expresión regular?
Gracias!
Solución
DATE=$(s3cmd ls | sort -n | tail -n 1 | awk '{print $1}')
s3cmd ls | grep $DATE
clasificar como un número schould poner fechas más jóvenes pasado. N1 cola toma la última línea, awk cortes de la primera palabra que es la fecha. La use para obtener todas las entradas de esa fecha.
Pero tal vez no entender la pregunta - lo que tiene que reformular. Usted les dice fecha y la hora no está ordenada 'nosotros y proporciona un ejemplo donde se clasifican - puede pedir la fecha más reciente, pero todas las entradas tienen la misma fecha.
Otros consejos
s3cmd ls s3://bucket/path/ | sort -k1,2
Esto ordenará por fecha ascendente.
Trate
Esta sintaxis del comando es s3 s3 ls: // ruta de la cuchara / archivos | sort
s3cmd ls s3://file1.tgz.00<br> | sort
Se clasificará en la fecha de forma descendente en el último