Verzeichnisinhalt in Textfile speichern?

Auch auch mit der Gefahr hin auf den Scheiterhaufen zu kommen:

ls -l | awk ' { printf("%-20s %10s \n",$8,$5); }' | sort

Bin gerade nicht am Mac, aber an einer Linux-Kiste und denke, da ja auch bei Mac Unix als Grundlage vorhanden ist, sollte das gehen...

Was soll passieren:
- ls -l ist klar
- der Ausgabestrom wird an awk gesendet "|"
- dort wird per printf die Spalte 8 und Spalte 5 der Daten ausgebeben (das Minuszeichen sorgt dabei für eine linksbündige Darstellung)
- Weitergabe des Datenstroms an den sort Befehl

Ergebnis sollte sein, Dateinamen und dessen Größe sortiert nach Name...

Bye
Mirko
 
Paelmchen schrieb:
Auch auch mit der Gefahr hin auf den Scheiterhaufen zu kommen:

ls -l | awk ' { printf("%-20s %10s \n",$8,$5); }' | sort

Bin gerade nicht am Mac, aber an einer Linux-Kiste und denke, da ja auch bei Mac Unix als Grundlage vorhanden ist, sollte das gehen...

Was soll passieren:
- ls -l ist klar
- der Ausgabestrom wird an awk gesendet "|"
- dort wird per printf die Spalte 8 und Spalte 5 der Daten ausgebeben (das Minuszeichen sorgt dabei für eine linksbündige Darstellung)
- Weitergabe des Datenstroms an den sort Befehl

Ergebnis sollte sein, Dateinamen und dessen Größe sortiert nach Name...

Bye
Mirko

Ui, noch ein Saarländer. :eek: Willkommen im Club! :)


Bei OSX muss es allerdings Spalte 9 und 5 sein. Und wenn du dann bei ls noch den Paramater h dazunimmst kriegst du auch noch ne Größenangabe.

Also:

ls -lh | awk ' { printf("%-20s %10s \n",$9,$5); }' | sort
 
Zuletzt bearbeitet:
Cool, habe damit gerade rumgespielt. Mit
ls -lh | awk ' { printf("%-20s %10s %2s %3s %5s \n",$9,$5,$7,$6,$8); }' | sort
habe ich ein hübsches Ergebnis bekommen

:)
 
Na denn Tach zurück - wenn da mal endlich die MUG Saarland ins Rollen kommt...

Ach ja,

mit der Standardverwendung von Stringlängen wird nicht abgeschnitten! Will sagen, ist ein String z.B. länger als 20 Zeichen so werden diese mit %20s auch darüber hinaus ausgegeben. Wenn man dies nicht will, muß das Format %20.20s sein, also ähnlich den Zahlenformaten.

Bye
Mirko
 
... und was haltet ihr von einem banalen
Code:
du -hs *
:D
 
@maceis
:D:D:D:D

rotfl
 
Ach so, Kai-Christoph wollte ja noch den Dokumenttyp sehen ;);
Bitte sehr:
Code:
for file in *;do;\
type=`file $file | cut -d " " -f 2-`;\
size=`du -hs $file`;\
printf "%-30s\t%-s\n" $size $type;\
done

[edit]beim Arbeiten mit ls kann man eigentlich auf sort verzichten, da ls ohnhin sortiert ausgibt.[/edit]
 
Zuletzt bearbeitet:
Zurück
Oben Unten