Schlagwort-Archive: awk

Awk: Sortierte Verzeichnisliste nach Grösse (inkl. Unterverzeichnisse)

Aufgabe: Alle Files/Dirs nach Grösse (inkl. Belegung der Unterordner) nach Grösse sortieren und anzeigen (in Datei usage.txt speichern).

Dazu in das Verzeichnis wechseln, dass ausgewertet werden soll.

  • du -bs * = zeige Grösse für alle Dateien in Byte (-b) für Datei und alle Unterdateien (-s = Summe) an
  • awk … = formatiere die erste Spalte in eine 12 stellige Float-Zahl (Integer hat MaxInt bei 2 Milliarden) und den Datei-/Verzeichnisnamen
  • sort = sortiere Liste aufsteigend nach der Grösse (absteigend = sort -r)

Liefert eine Datei „usage.txt“ mit Spalte Grösse und File/Verzeichnis aufsteigend sortiert nach Grösse.

Die obige Version kann auch mit Leerzeichen in Verzeichnissen umgehen (zB Mailordner), wo der Name aus den Spalten 2 bis n bestehen kann. Das Ausgabeformat für die Grösse wurde auf 10 Ziffern geändert. NF ist in awk eine Konstante mit der Anzahl der Spalten in der aktuellen Zeile.