Antworten:
Versuche dies:
ls -l | awk '{print $3, $4, $8}' | sort
Der Benutzername, der Gruppenname und der Dateiname werden gedruckt, sofern der Dateiname keine Leerzeichen enthält. Alternativ können Sie Folgendes eingeben:
ls -l | awk '{print $3, $4, $0}' | sort
Dadurch werden der Benutzername, der Gruppenname und die vollständige ls -lAusgabe gedruckt , zuerst sortiert nach dem Benutzernamen, dann nach dem Gruppennamen und dann nach dem, was ls -lzuerst gedruckt wird.
Beachten Sie, dass abhängig von Ihrer Verteilung die tatsächlichen Spaltennummern unterschiedlich sein können. Ich habe meine in SUSE und Coreutils Version 5.2.1 ausprobiert.
Es gibt wahrscheinlich bessere, ausgefeiltere Lösungen, aber dies ist die einfachste und wird die meiste Zeit funktionieren.
Wie Petersohn sagte, etwas Ähnliches wie:
ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t$8und das column -tfür hübschen Druck hinzuOder noch besser:
ls -l | sort -k 3 - sortiert nach Eigentümer und sortiert standardmäßig das nächste Feld (Gruppe) und weiterls -l | sort -k 4,4 -k 3 - sortiert nach Gruppe und dann nach Eigentümerls -l | sort -k 3,3 -k 8 - Sortiert nach Eigentümer und dann nach DateinameHinweis: Das Komma ist das Abschlussfeld. 3,3Beginnt und endet also bei Feld 3 und 3,5sortiert von Feld 3 bis 5.