Como ver os usuários em ordem alfabética?

2

Eu quero saber como ver os usuários por ordem alfabética ao usar este comando:

cut -d: -f1 /etc/passwd

Eu recebo uma lista com muitos nomes, incluindo o meu, mas é muito longa. Quero encomendá-lo em ordem alfabética.

Como eu posso fazer isso? Talvez eu esteja fazendo algo errado?

    
por fick_m 25.03.2015 / 17:31

4 respostas

8

Mais simples:

cut -d: -f1  /etc/passwd | sort  

Para visualizar também as informações do (s) usuário (s) do tipo de terminal:

grep /home /etc/passwd | sort 

O / home diz ao grep para soltar quaisquer linhas que não contenham o texto / home, filtrando assim muitas linhas que não possuem informações sobre os usuários dos resultados do comando. No Ubuntu, os diretórios de usuários estão localizados no diretório / home por padrão. Este comando mostrará vários atributos para cada usuário. Os atributos do usuário são:

username:password:UID:GID:info:home directory:shell
    
por Rinzwind 25.03.2015 / 17:32
6

Se você quiser apenas classificar os nomes (após cut ), use a resposta de Rinzwind .

Se você quiser classificar o arquivo /etc/passwd em ordem alfabética com base nos nomes de usuários:

sort -t: -k1,1 /etc/passwd 
    
por heemayl 25.03.2015 / 17:38
2

Use o comando compgen com a ordenação:

compgen -u | sort
    
por du-it 28.09.2017 / 12:13
0

Você poderia fazer isso através do próprio python. Basta executar o comando abaixo no terminal.

$ python3 -c 'with open("/etc/passwd") as f:
    for i in sorted([x.split(":")[0] for x in f]):
        print(i)'

Note que os espaços antes de for foram muito importantes.

    
por Avinash Raj 26.03.2015 / 04:08