Listar sólo ficheros ordenados por fecha de modificación

Lo intuitivo sería pensar en usar ls -lt, pero si se quieren evitar directorios, ficheros con un determinado nombre, seguir enlaces simbólicos, que los caracteres de nueva línea nos la puedan jugar,.. find es más fiable que andar filtrando con grep los resultados. Aunque hay que pensar un poco para combinarlo con sort para ordenar los resultados por el primer campo (en tiempo POSIX con parte decimal) y sed para eliminar después el tiempo, que ya no nos sirve.

Algo así:

find -P . -maxdepth 1 -type f -printf '%C@ %p\0' | sort -znrk1 | sed -e 's/^[^ ]* //' -e 's/\x0[^ ]* /\x0/g' | while IFS= read -r -d '' i

OjO a ISF= y -d », que permiten dividir las ocurrencias y no zamparse los espacios en blanco que pudiera tener el nombre de un fichero al final.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *