date-order-files vs year-order-dirs

=> [IMG]

[1]

amo el orden pero soy un caos!

Trabajo en una terminal, tty, consola o como prefieras nombrar al shell, en mi caso uso BASH y cuando estoy en entorno X uso awesome ^1[2] asi que no cuento con un escritorio con íconos a organizar, pero en la oscuridad de la terminal puede que los archivos estén un tanto desordenados!

YYYY-MM-DD

Gracias al formato ISO 8601 ^2[3], por lo general la mayoría de los archivos los guardo en con prefijo YYYY-MM-DD entonces, con solo listarlos ya estaría ordenados! y sería muy fácil filtrar usando grep, por ejemplo, para ver los archivos de hoy se podría ejecutar:

ls | grep $(date +%F)

...y si quisieramos los archivos de ayer?:

ls | grep $(date +%F -d yesterday)

too many files...

Pero si hay cientos o miles de archivos en un directorio, termina resultando un poco molesto de todas maneras, por ejemplo en el directorio donde guardo los screenshots un posible estado sería el siguiente:

# ls

2023-05-10-103126.png
2023-05-10-103557.png
2023-05-10-104023.png
2023-05-10-104027.png
2023-05-10-111012.png
2023-05-10-112947.png
2023-05-10-113858.png
2023-05-10-113934.png
2023-05-10-115924.png
2023-05-10-120143.png
2023-05-10-120537.png
2023-05-17-175542.png
2023-05-17-180737.png
2023-05-18-115418.png
2023-05-18-115840.png
2023-05-18-131556.png
2023-05-20-104557.png
2023-05-23-234549.png
2023-05-24-144143.png
2023-05-25-001043.png

date-order-files

Basta ejecutar date-order-files ^3[4] para que se creen directorios con formato YYYY-MM-DD y todos los archivos coincidentes se auto-ordenen:

# date-order-files

# ls -1

2021/
2022/
2023/
2023-04-30/
2023-05-03/
2023-05-04/
2023-05-05/
2023-05-08/
2023-05-09/
2023-05-10/
2023-05-11/
2023-05-12/
2023-05-15/
2023-05-16/
2023-05-17/
2023-05-18/
2023-05-19/
2023-05-20/
2023-05-22/
2023-05-23/
2023-05-24/
2023-05-25/
2023-05-29/

year-order-dirs

Y si queremos ordenar directorios por año, basta ejecutar year-order-dirs ^4[5] y listo, se auto-ordenan los directorios:

# year-order-dirs

# ls

2021/
2022/
2023/
2023-05-30-195020.png

Ambos comandos por defecto excluyen los archivos del día, para tener lo último en la raíz del directorio de trabajo siempre a mano.

Los scripts estan en el repo bin-bash-utils ^5[6].

ChangeLog

=> 1: file:img/ranger-date-order-files-vs-year-order-dirs.png | 2: %5Bfile:awesome-es-increible.gmi%5D(awesome-es-increible.gmi) | 3: https://en.wikipedia.gmi/wiki/ISO_8601 | 4: https://gitlab.com/osiux/bin-bash-utils/-/raw/develop/date-order-files | 5: https://gitlab.com/osiux/bin-bash-utils/-/raw/develop/year-order-dirs | 6: https://gitlab.com/osiux/bin-bash-utils.git | 7: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/496098dc9b2838096770d4072629e97f7c22839e

Proxy Information
Original URL
gemini://gmi.osiux.com/2023-05-30-date-order-files-vs-year-order-dirs.gmi
Status Code
Success (20)
Meta
text/gemini;lang=es_AR
Capsule Response Time
1620.822963 milliseconds
Gemini-to-HTML Time
2.193304 milliseconds

This content has been proxied by September (ba2dc).