Essayez ceci :
ls -l | awk '{print $3, $4, $8}' | sort
Il imprimera le nom d'utilisateur, le nom du groupe et le nom du fichier, à condition que le nom du fichier ne contienne pas d'espaces. Vous pouvez également saisir :
ls -l | awk '{print $3, $4, $0}' | sort
Cela imprimera le nom d'utilisateur, le nom du groupe et le ls -l
complet sortie, triée par le nom d'utilisateur d'abord, puis le nom du groupe, puis n'importe quel ls -l
imprime en premier.
Notez qu'en fonction de 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 de meilleures solutions plus élaborées, mais celle-ci est la plus simple et fonctionnera la plupart du temps.
Comme Petersohn l'a dit, quelque chose de similaire à :
ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
ajouté le$8
et lecolumn -t
pour un joli imprimé
Ou encore mieux :
ls -l | sort -k 3
- trie par propriétaire et par défaut trie le champ suivant (groupe) et surls -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 fichier
Remarque : la virgule est le champ de terminaison donc 3,3
commence et se termine au champ 3 3,5
trie des champs 3 à 5.