¿Cómo puedo usar lsen Linux para obtener una lista de nombres de archivos de fecha y tamaño solamente? No necesito ver otra información como el propietario, el permiso.
¿Cómo puedo usar lsen Linux para obtener una lista de nombres de archivos de fecha y tamaño solamente? No necesito ver otra información como el propietario, el permiso.
Respuestas:
ls -l | awk '{print $5, $6, $7, $9}'
Esto imprimirá el tamaño del archivo en bytes, mes, fecha y nombre de archivo.
jin@encrypt /tmp/foo % ls -l
total 0
drwxr-xr-x 2 jin wheel 68 Oct 4 12:43 bar
drwxr-xr-x 2 jin wheel 68 Oct 4 12:43 baz
drwxr-xr-x 2 jin wheel 68 Oct 4 12:43 quux
jin@encrypt /tmp/foo % ls -l | awk '{print $5, $6, $7, $9}'
68 Oct 4 bar
68 Oct 4 baz
68 Oct 4 quux
Técnicamente, no es posible con ls, pero findpuede hacer el mismo trabajo con su -printfinterruptor:
find -maxdepth 1 -printf '%t %s %p\n'
find usr/lib/ -not -type d -printf '%M %p\n salida: -rw-r--r-- usr/lib/x86_64-linux-gnu/apr-util-1/apr_crypto_openssl-1.so... Enseña a un hombre a pescar y todo eso ...
siempre puedes hacer:
$ ls -l
total 0
-rw-r--r-- 1 user staff 0 Oct 6 23:29 file1
-rw-r--r-- 1 user staff 0 Oct 6 23:29 file2
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file3
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file4
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file5
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file6
-rw-r--r-- 1 user staff 0 Oct 6 23:30 file7
cut para:
$ ls -l | cut -f 8-13 -d ' '
0 Oct 6 23:29 file1
0 Oct 6 23:29 file2
0 Oct 6 23:30 file3
0 Oct 6 23:30 file4
0 Oct 6 23:30 file5
0 Oct 6 23:30 file6
0 Oct 6 23:30 file7
$
ls -lusa el relleno de espacios en blanco. Si sus columnas no tienen una longitud uniforme (qué columna 5, el tamaño del archivo a menudo no lo hará), cortar no seleccionará las columnas correctamente. Ayudará a contraer espacios consecutivos (tenga cuidado con los espacios en los nombres de archivo). ls -l | tr -s ' ' | cut -f 8-13 -d ' '
Otra no lsmanera:
> stat --printf='%y\t%12s\t%-16n|\n' tmp.*
2017-06-15 10:42:07.252853000 +0200 10485760 tmp.1 |
2017-06-15 10:41:25.659570000 +0200 666 tmp.TKPzm3BfRw |
Explicación: %y= fecha de modificación legible por humanos;
%s= tamaño en bytes ( %12salineado a la derecha, longitud 12);
%n= nombre del archivo ( %-16nalineado a la izquierda, longitud 16); \t= pestaña, \n= salto de línea. |= literal pipe char, solo para mostrar el final del nombre del archivo.
Al igual que ls, statno tiene opciones para seleccionar qué archivos mostrar. (Eso se puede hacer mediante un globo de concha como se muestra arriba o algunos find ... -print0 | xargs -r0 stat ..., por ejemplo).
stat -f '%N %Sm %z' filename
Ligera variación en tolitius
ls -lh | cut -f 6- -d ' '