web-dev-qa-db-fra.com

Comment lister les fichiers par propriétaire dans la commande Unix?

Je dois répertorier tous les fichiers de mon fichier WD, classés alphabétiquement par le nom du propriétaire du fichier. Est-ce que j'ai quelque chose pour ça?

12
austinminn

La solution canonique:

ls -l | sort -k3,3

Un seul 3 (comme dans '-k3') indiquerait à sort d'utiliser la colonne 3 jusqu'à la fin de la ligne pour le tri. Cela vous permet d'effectuer des tris plus avancés, tels que ls -l | sort -k3,3 -rnk5,5, qui trieraient d'abord vos fichiers par nom d'utilisateur, puis par taille, en commençant par le plus grand.

Comme toujours, pour plus d'informations, exécutez man sort.

11
bukzor

Je voudrais utiliser find -printf "%u %h/%f\n" | sort

5
Michel

Je ne pense pas qu'il y ait quoi que ce soit intégré, mais vous pouvez en faire un peu:

find . -ls | sort -k5

Cela fonctionne car sur mon installation, la cinquième colonne (-k5) de la sortie de find est le nom d'utilisateur. Clairement, ce n'est pas portable.

1
Martin Carpenter

ls -l | awk '{print $3"\t\t"$9}' | sort le ferait également. La première colonne est le nom d'utilisateur, la seconde le nom du fichier/répertoire:

[ 09:20 jon@Host /home ]$ ls -l | awk '{print $3"\t\t"$9}' | sort

bettina         bettina
caldavd         caldavd
davical_app     postgres
davical_dba     davical_dba
istat           istat
jared           jared
jason           jason
jon             jon
jon             repo
root            lost+found
root            SCN_RepositoryB.tar.gz
Tomcat          Tomcat

Cela ne montrerait que les noms de fichiers/répertoires (triés par propriétaire):

[ 09:24 jon@Host /home ]$ ls -l | awk '{print $3"\t\t"$9}' | sort | awk '{print $2}'

bettina
caldavd
postgres
davical_dba
istat
jared
jason
jon
repo
lost+found
SCN_RepositoryB.tar.gz
Tomcat

Et cela leur montrerait triés mais sur une seule ligne:

[ 09:26 jon@Host /home ]$ ls -l | awk '{print $3"\t\t"$9}' | sort | awk '{print $2}' | tr "\n" " "
bettina caldavd postgres davical_dba istat jared jason jon repo lost+found SCN_RepositoryB.tar.gz Tomcat
1
chown
ls -l | sort -k3

Pas besoin de spécifier 3 après -k3

kracekumar@python-lover:~$ ls -l /tmp | sort -k3  
total 36
drwx------ 2 gdm        gdm        4096 2011-10-14 08:36 orbit-gdm
drwx------ 2 gdm        gdm        4096 2011-10-14 08:36 Pulse-    2L9K88eMlGn7
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 keyring-4O5hSc
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 Pulse-SBBBfzrceWvC
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 ssh-UkESZoNj1595
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 virtual-kracekumar.5D8Mlv
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:43 orbit-kracekumar
drwx------ 2 root       root       4096 2011-10-14 08:36 Pulse-PKdhtXMmr18n
drwxr-xr-x 3 www-data   www-data   4096 2011-10-14 08:36 www-data-temp-aspnet-0
kracekumar@python-lover:~$ ls -l /tmp | sort -k3,3
total 36
drwx------ 2 gdm        gdm        4096 2011-10-14 08:36 orbit-gdm
drwx------ 2 gdm        gdm        4096 2011-10-14 08:36 Pulse-2L9K88eMlGn7
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 keyring-4O5hSc
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 Pulse-SBBBfzrceWvC
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 ssh-UkESZoNj1595
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:36 virtual-kracekumar.5D8Mlv
drwx------ 2 kracekumar kracekumar 4096 2011-10-14 08:43 orbit-kracekumar
drwx------ 2 root       root       4096 2011-10-14 08:36 Pulse-PKdhtXMmr18n
drwxr-xr-x 3 www-data   www-data   4096 2011-10-14 08:36 www-data-temp-aspnet-0
kracekumar@python-lover:~$
0
Kracekumar