Tengo una gran cantidad de archivos y directorios en un directorio.
Necesito ordenarlos en términos de permisos.
Por ejemplo
drwx------
drwxr-xr-x
drwxr-x---
Me pregunto si podemos ordenar los archivos y directorios usando ls
?
Respuesta aceptada:
ls
no admite directamente la clasificación por permisos, pero puede combinarla con el comando de clasificación:
ls -l | sort
Puedes usar -k
opción para ordenar para comenzar a buscar coincidencias desde un carácter específico, el formato es -k FIELD.CHAR
, los permisos son el primer campo en ls
producción. Entonces, p. -k 1.2
comenzará desde el segundo carácter de la cadena de permiso, que ignorará cualquier indicador de directorio/dispositivo/enlace, etc., o -k 1.5
para ordenar por permisos de grupo.
Si no desea la salida adicional de ls -l
, puede eliminarlo con awk:
ls -l | sort | awk '{ print $1, $NF}'
Esto imprimirá solo el primer campo (los permisos) y el último (el nombre del archivo).