¿Cómo aislar el permiso del archivo y el nombre del archivo de los resultados de ls -l?

¿Cómo aislar el permiso del archivo y el nombre del archivo de los resultados de ls -l?

Quiero ver solo el nombre del archivo y el permiso del archivo correspondiente. ¿Como hacer eso?

ls -l da

-rw-rw-r-- 1 jb jb    102 Apr 28 12:48  hello2.txt
-rw-rw-r-- 1 jb jb    102 Apr 28 12:53  hello.txt

Me gustaría ver lo siguiente

-rw-rw-r-- 1  hello2.txt
-rw-rw-r-- 1  hello.txt

Respuesta1

El statcomando está hecho para este ej.:

stat -c '%A %n' *.txt

o

stat --printf '%A\t%n\n' *.txt

donde los especificadores de formato tienen los siguientes significados

   %A     access rights in human readable form
   %n     file name

Respuesta2

Puede llegar a la mayor parte del camino usándose lsa sí mismo: ls -lGg --time-style=+imprimirá solo los modos de acceso, el número de enlaces, el tamaño y el nombre.

Procesar lsla salida es complicado porque los nombres de archivos pueden contener prácticamente cualquier cosa, por lo que no puedes asumir nada sobre ellos al procesarlos. Sería mejor utilizar finden su lugar imprimir exactamente la información necesaria utilizando-printf:

find . -printf '%M %p\n'

(Con opciones como -maxdepthutilizadas según corresponda para limitar el listado).

Respuesta3

Puede canalizarlo gawky generar los campos que desee, algo como esto o similar:

ls -l | gawk '{print $1 " " $2 " " $9}'

información relacionada