Ich habe eine große Anzahl von Dateien und Verzeichnissen in einem Verzeichnis.
Ich muss sie in Bezug auf die Berechtigungen sortieren.
Zum Beispiel
drwx------
drwxr-xr-x
drwxr-x---
Ich frage mich nur, ob wir die Dateien und Verzeichnisse mit ls
sortieren können ?
Akzeptierte Antwort:
ls
unterstützt das Sortieren nach Berechtigungen nicht direkt, aber Sie können es mit dem sort-Befehl kombinieren:
ls -l | sort
Sie können das -k
verwenden Option zum Sortieren, um den Abgleich ab einem bestimmten Zeichen zu starten, das Format ist -k FIELD.CHAR
, die Berechtigungen sind das erste Feld im ls
Ausgang. Also z.B. -k 1.2
beginnt mit dem zweiten Zeichen der Berechtigungszeichenfolge, wodurch alle Flags für Verzeichnisse / Geräte / Links usw. oder -k 1.5
ignoriert werden zum Sortieren nach Gruppenberechtigungen.
Wenn Sie die zusätzliche Ausgabe von ls -l
nicht wünschen , können Sie es mit awk entfernen:
ls -l | sort | awk '{ print $1, $NF}'
Dadurch wird nur das erste Feld (die Berechtigungen) und das letzte (der Dateiname) gedruckt.