¿Cómo ordenar ls por columna en Ubuntu mediante tuberías para ordenar?

¿Cómo ordenar ls por columna en Ubuntu mediante tuberías para ordenar?

Soy un novato en Linux que intenta aprender cómo funciona la tubería en la terminal de Ubuntu. Intenté ordenar por tamaño de archivo:

ls -al | sort -k5

Los archivos se enumeraron en este orden:

drwx------ 19 min10 domain users      0 2010-10-07 12:38 .
drwx------ 29 min10 domain users      0 2010-02-16 22:30 MSI
drwx------  2 min10 domain users      0 2009-11-25 19:53 www
drwx------  2 min10 domain users      0 2010-02-05 09:14 .cache
drwx------  2 min10 domain users      0 2010-03-02 08:11 My Pictures
drwx------  2 min10 domain users      0 2010-03-02 10:41 regu
drwx------  2 min10 domain users      0 2010-03-31 13:08 elec
drwx------  2 min10 domain users      0 2010-04-10 21:43 temp
drwx------  2 min10 domain users      0 2010-10-06 09:13 bubbla
drwx------  3 min10 domain users      0 2010-01-26 08:26 cfg
drwx------  3 min10 domain users      0 2010-03-30 15:34 data
drwx------  3 min10 domain users      0 2010-03-30 16:03 idv
drwx------  3 min10 domain users      0 2010-04-01 09:10 arduino-0018
drwx------  3 min10 domain users      0 2010-04-14 15:10 processing-1.1
drwx------  3 min10 domain users      0 2010-07-06 16:20 eclipse
drwx------  4 min10 domain users      0 2010-04-15 09:34 pryl
drwx------  4 min10 domain users      0 2010-07-06 16:30 dv2
-rwx------  1 min10 domain users    123 2010-10-07 12:38 starwars.txt
-rwx------  1 min10 domain users  16109 2010-10-06 07:01 .bash_history
-rwx------  1 min10 domain users 454656 2010-03-30 15:29 putty.exe
-rwx------  1 min10 domain users    504 2010-04-10 21:16 little.gif
-rwx------  1 min10 domain users  56682 2010-04-10 21:12 awesome.jpg
-rwx------  1 min10 domain users      7 2010-04-10 21:32 blah.txt

Obviamente, esto es un error en términos de clasificación por tamaño de archivo. Intenté con un montón de otras columnas además de -k5y repetidamente obtuve resultados confusos y desordenados. También lo intenté -nk5y todavía no lo hice. ¿Qué estoy haciendo mal?

Respuesta1

El resultado que muestra está ordenado alfabéticamente en lugar de numéricamente. Intente agregar:

-n, --numeric-sort comparar según el valor numérico de la cadena

Editar:¡Me acabo de dar cuenta de que en su resultado la columna de tamaño de archivo parece ser la sexta! has probado -nk6?

Probados en mi Hardy Heron, estos funcionan:

  • ls -al | sort -nk5
  • ls -al | sort -k5n
  • ls -al | sort -k5 -n
  • ls -al | sort -k5 --numeric-sort

sort --versionrendimientos: 6,10

Respuesta2

Para ordenar por tamaño, pruebe con 'ls -S' o 'ls -rS'.

información relacionada