Como listar arquivos pelo dono do arquivo no comando Unix?

11

Eu preciso listar todos os arquivos da minha WD classificados em ordem alfabética pelo nome do proprietário do arquivo. Tem algo para isso?

    
por gronostaj 13.10.2011 / 18:01

5 respostas

10

A solução canônica:

ls -l | sort -k3,3

Um solitário 3 (como em '-k3') dirá a sort para usar a coluna 3 no fim da linha para classificação. Isso permite que você faça classificações mais avançadas, como ls -l | sort -k3,3 -rnk5,5 , que classificaria seus arquivos primeiro por nome de usuário e, em seguida, por tamanho, maior primeiro.

Como sempre, para mais informações, execute man sort .

    
por 13.10.2011 / 18:15
4

Eu usaria find -printf "%u %h/%f\n" | sort

    
por 13.10.2011 / 18:09
1

Eu não acho que haja nada embutido, mas você pode juntar um pouco de um hack:

find . -ls | sort -k5

Isso funciona porque na minha instalação a quinta coluna ( -k5 ) da saída de find é o nome de usuário. Claramente isso não é portátil.

    
por 13.10.2011 / 18:05
1

ls -l | awk '{print $3"\t\t"$9}' | sort também faria isso. A primeira coluna é o nome de usuário, o segundo é o nome do arquivo / diretório:

[ 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

Isso mostraria apenas os nomes de arquivo / dir (classificados pelo proprietário):

[ 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

E isso os mostraria classificados, mas em uma única linha:

[ 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
    
por 13.10.2011 / 18:07
0
ls -l | sort -k3

Não é necessário especificar 3 apó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:~$
    
por 14.10.2011 / 05:23

Tags