script - Bash verdadero orden numérico
bash tutorial (3)
Para esta lista particular de archivos, ordene numéricamente comenzando en el quinto carácter del primer campo.
$ ls file*|sort -k1.5n
file1
file2
file11
file12
¿Cómo puedo ordenar archivos en un directorio por su orden numérico verdadero?
file1.txt
file2.txt
file11.txt
...
Creo que se llama: Orden natural.
Si todos los nombres de archivos son fileSOMENUMBER.txt
, intente esto:
ls -1|sed ''s:^[^0-9]*/([0-9]*/).*$:/1:g''|sort -n|sed ''s:^/(.*/)$:file/1.txt:g''
Usa la opción -v
:
ls -v file*
file1
file2
file11
file12
Otra opción puede ser usar sort -V
, asumiendo que hay una disponible en su plataforma:
ls file* |sort -V