GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo ordenar ls por propietario y grupo?

Prueba esto:

ls -l | awk '{print $3, $4, $8}' | sort

Imprimirá el nombre de usuario, el nombre del grupo y el nombre del archivo, siempre que el nombre del archivo no contenga espacios. Alternativamente, puede escribir:

ls -l | awk '{print $3, $4, $0}' | sort

Esto imprimirá el nombre de usuario, el nombre del grupo y el ls -l completo salida, ordenada por el nombre de usuario primero, luego el nombre del grupo, luego lo que sea ls -l imprime primero.

Tenga en cuenta que dependiendo de su distribución, los números de columna reales pueden diferir. Probé el mío en SUSE y coreutils versión 5.2.1.

Probablemente haya soluciones mejores y más elaboradas, pero esta es la más simple y funcionará la mayor parte del tiempo.


Como dijo petersohn, algo similar a:

  • ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
    agregó el $8 y el column -t para un bonito estampado

O aún mejor:

  • ls -l | sort -k 3 - ordena por propietario y por defecto ordena el siguiente campo (grupo) y en
  • ls -l | sort -k 4,4 -k 3 - ordena por grupo y luego por propietario
  • ls -l | sort -k 3,3 -k 8 - ordena por propietario y luego por nombre de archivo

Nota: la coma es el campo terminador así que 3,3 comienza y termina en el campo 3 3,5 ordena de los campos 3 a 5.


Linux
  1. Cómo encontrar archivos grandes de Linux con los comandos find y du

  2. Cómo administrar usuarios y grupos en FreeIPA Server

  3. ¿Cómo ordenar la salida Du por tamaño?

  4. ¿Cómo encontrar el propietario y el grupo de un directorio?

  5. ¿Cómo puede la tecnología en la nube potenciar el aprendizaje electrónico y el aprendizaje a distancia?

Cómo ordenar archivos en Ubuntu (GUI y Shell)

¿Precedencia del propietario del usuario y del grupo en los permisos de archivo?

¿Cambiar propietario y grupo en C?

¿Cómo obtener ps para imprimir grupo?

¿Cómo hacer que ls ordene por extensión de archivo y luego por nombre?

¿Cómo puedo hacer que ls muestre archivos de puntos primero?