date-order-files
vs year-order-dirs
index | about | archive | charlas | docs | links
dot
|
git
|
img
|
plt
|
tty
|
uml
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 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, 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 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 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.
ChangeLog
2023-05-30 23:33
agregardate-order-files
vsyear-order-dirs