it-swarm.com.de

Wie kann ich die Ausgabe von ls einschränken, damit nur Dateiname, Datum und Größe angezeigt werden?

Wie kann ich ls unter Linux verwenden, um eine Auflistung der Dateinamen nur für Datum und Größe zu erhalten? Ich muss die anderen Informationen wie Eigentümer, Erlaubnis nicht sehen.

23
Pinkie

ls -l | awk '{print $5, $6, $7, $9}'

Dadurch wird die Dateigröße in Byte, Monat, Datum und Dateiname gedruckt.

[email protected] /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

[email protected] /tmp/foo % ls -l | awk '{print $5, $6, $7, $9}'
68 Oct 4 bar
68 Oct 4 baz
68 Oct 4 quux
25
Jin

Technisch ist es mit ls nicht möglich, aber find kann die gleiche Aufgabe mit seinem -printf-Schalter ausführen:

find -maxdepth 1 -printf '%t %s %p\n'
11
thiton

sie können immer tun:

$ 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 geht an:

$ 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

$ 
4
tolitius

Ein anderer nicht-ls Weg:

> 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  |

Erläuterung: %y = lesbares Änderungsdatum; %s = Größe in Bytes (%12s rechtsbündig, Länge 12); %n = Dateiname (%-16n linksbündig, Länge 16); \t = tab, \n = Zeilenvorschub. | = Literales Pipe-Zeichen, um nur das Ende des Dateinamens anzuzeigen.

Wie ls hat stat keine Optionen zum Auswählen der anzuzeigenden Dateien. (Dies kann beispielsweise durch Shell-Globbing wie oben gezeigt oder durch einen find ... -print0 | xargs -r0 stat ... geschehen.)

4
EndlosSchleife

Leichte Variation von Tolitius

ls -lh | cut -f 6- -d ' '
2
zzapper