Risposte:
ls -l | awk '{print $5, $6, $7, $9}'
Questo stamperà la dimensione del file in byte, mese, data e nome file.
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
Tecnicamente, non è possibile con ls, ma findpuò fare lo stesso lavoro con il suo -printfinterruttore:
find -maxdepth 1 -printf '%t %s %p\n'
find usr/lib/ -not -type d -printf '%M %p\n output: -rw-r--r-- usr/lib/x86_64-linux-gnu/apr-util-1/apr_crypto_openssl-1.so... Insegna a un uomo a pescare e tutto il resto ...
puoi sempre fare:
$ 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 a:
$ 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 -lutilizza il riempimento degli spazi bianchi. Se le colonne non sono di lunghezza uniforme (quale colonna 5, spesso le dimensioni del file non lo faranno), il taglio non selezionerà le colonne correttamente. La compressione degli spazi consecutivi sarà di aiuto (attenzione agli spazi nei nomi dei file). ls -l | tr -s ' ' | cut -f 8-13 -d ' '
Un'altra non- lsvia:
> 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 |
Spiegazione: %y= data di modifica leggibile dall'uomo;
%s= dimensione in byte ( %12sallineato a destra, lunghezza 12);
%n= nome file ( %-16nallineato a sinistra, lunghezza 16); \t= tab, \n= avanzamento riga. |= letter pipe pipe, solo per mostrare la fine del nome del file.
Come ls, statnon ha opzioni per selezionare quali file mostrare. (Ciò può essere fatto con il globbing della shell come mostrato sopra o alcuni find ... -print0 | xargs -r0 stat ..., per esempio.)
stat -f '%N %Sm %z' filename
Leggera variazione su tolitius
ls -lh | cut -f 6- -d ' '