Comment répertorier les répertoires avec ls et les trier par propriétaire et groupe?
9
Essaye ça:
ls -l | awk '{print $3, $4, $8}' | sort
Il imprimera le nom d'utilisateur, le nom de groupe et le nom de fichier, à condition que le nom de fichier ne contienne pas d'espaces. Alternativement, vous pouvez taper:
ls -l | awk '{print $3, $4, $0}' | sort
Cela imprimera le nom d'utilisateur, le nom du groupe et la ls -l
sortie complète , triés d'abord par le nom d'utilisateur, puis le nom du groupe, puis tout ce qui ls -l
s'imprime en premier.
Notez que selon votre distribution, les numéros de colonne réels peuvent différer. J'ai essayé le mien dans SUSE et coreutils version 5.2.1.
Il existe probablement des solutions meilleures et plus élaborées, mais celle-ci est la plus simple et fonctionnera la plupart du temps.
Comme l'a dit Petersohn, quelque chose de similaire à:
ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
ajouté le
$8
et lecolumn -t
pour une jolie impressionOu encore mieux:
ls -l | sort -k 3
- trie par propriétaire et trie par défaut le champ (groupe) suivant etls -l | sort -k 4,4 -k 3
- trie par groupe puis par propriétairels -l | sort -k 3,3 -k 8
- trie par propriétaire puis par nom de fichierRemarque: la virgule est le champ de fin, donc
3,3
commence et se termine au champ 33,5
trie des champs 3 à 5.la source