¿Es posible en la línea de comando tener el mismo orden de clasificación para archivos / carpetas que Finder? Si corro find . -type d, obtengo como salida:
./Folder 1
./Folder 10
./Folder 11
./Folder 2
./Folder 3
...
Lo intenté find -s . -type dy también agregué algunas sortopciones. Sin suerte.
Lo que quiero es esto:
./Folder 1
./Folder 2
./Folder 3
...
./Folder 10
./Folder 11

findlugar dels?Respuestas:
Si nos fijamos en lo que
finddice sobre la clasificación:Esto significa que necesitamos canalizarlo para
sortpoder manipularlo un poco más.Como ya ha visto, una ordenación alfanumérica simple no funcionará porque compara todo como un carácter ANSI, no como números. Lo que debemos hacer es comparar los números. Podemos hacer esto con la
-kopción desortfind . -type d | sort -k2.3Lo que
sort -k2.3está haciendo el comando es ordenar en el segundo campo (delimitado por el espacio) que termina en la tercera posición. Este es el resultado usando la convención de nomenclatura de carpetas 1 :1 Para crear esta estructura de carpetas, utilicé el comando en mi carpeta de inicio:
fuente
-kopción. Sin embargo, eso no cumplió con mis requisitos. Hice este pequeño programa de Python para resolver este problema.También puede hacer
que clasifica los archivos por números de versión en nombres por orden natural.
Desde
man lsfuente