Original:
23 de enero de 2011 10:42 ALGO 2007.12.20.avi 26 de junio de 2009 ALGO 2009.06.25.avi 12 de febrero de 2010 ALGO 2010.02.11.avi 29 de enero de 2011 09:17 ALGO 2011.01.27.avi 11 de febrero de 2011 20:06 ALGO 2011.02.10.avi 27 de febrero de 2011 23:05 ALGO 2011.02.24.avi
Salida:
27 de febrero de 2011 23:05 ALGO 2011.02.24.avi 11 de febrero de 2011 20:06 ALGO 2011.02.10.avi 29 de enero de 2011 09:17 ALGO 2011.01.27.avi 23 de enero de 2011 10:42 ALGO 2007.12.20.avi 12 de febrero de 2010 ALGO 2010.02.11.avi 26 de junio de 2009 ALGO 2009.06.25.avi
Genere la lista anterior (Original) con:
ls -A -lR | grep "^-" | sed "s/.\{43\}/&\n/" | grep -v "^-" | while read ONELINE; do if echo $ONELINE | cut -d " " -f3 | grep -o '[0-9][0-9]:[0-9][0-9]' > /dev/null 2>&1; then echo $ONELINE | sed "s/.\{7\}/&$(date +%Y) /"; else echo $ONELINE; fi; done
¿Cómo podría obtener la salida donde el archivo más nuevo está en la parte superior?
Respuestas:
En la mayoría de las unidades,
ls
tiene una-t
opción. Desde laman
página de mi cuadro de Debian:Pruebe el siguiente comando:
$ ls -lt
fuente
¿Es ese un archivo de texto que está tratando de ordenar o está tratando de ver una lista de directorios por fecha? Para este último, use la
-t
bandera parals
. Para el primero, vea en particular el-M
indicador de clasificación de GNU, que se clasifica por abreviaturas de nombre de mes de tres letras. El siguiente comando ordena por las columnas 3ra, 1ra, 2da y 4ta, tratando la segunda clave de clasificación como un nombre de mes.Considere siempre usar fechas de estilo japonés / ISO, siempre en el orden AAAA-MM-DD-HH-MM-SS (es decir, el primer ancho de columna constante más significativo). De esta forma, la ordenación por fecha es idéntica a la ordenación lexicográfica.
fuente
2018 5 26
funciona igual de bien que2018 05 26
(siempre y cuando no pases por un marcado que combina espacios consecutivos ...), lo que no funciona bien es2018 5 26
.No estoy seguro de si la funcionalidad estaba en el
ls
comando cuando se hizo la pregunta original, pero ahora puede usar la opción--full-time
.p.ej,
se ordenará con el tiempo más antiguo en la parte inferior; o si usas:
entonces revertirá el orden.
fuente
-t
opción responde a esa pregunta por completo;--full-time
no es realmente relevantels -t
tampoco le da el modo y el propietario de los archivos, el nombre de host y la versión del sistema operativo, ni el precio del té en China.ls -t
ni siquiera muestra la fecha de modificación en absoluto. Pero la pregunta no se trata de mostrar la información del archivo, se trata de ordenar los archivos por fecha de modificación. No estás contribuyendo a la respuesta de la pregunta; está agregando información complementaria agradable de saber. Cuando obtienes 50 puntos de reputación , puedes publicar ese tipo de información como un comentario .recursivo (
R
) y pausa (|more
)fuente