Pular para o conteúdo

Listar os usuários do sistema com laço FOR [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Listar os usuários do sistema com laço FOR [RESOLVIDO]

Enviado em 28/04/2020 - 18:27h

Boa noite
Estou fazendo um código no qual preciso usar um for, para exibir usuário depois seu nome completo,
segue meu codigo :

#!/bin/bash
#exibe o user
user=$(cat /etc/passwd | cut -d ":" -f1)
#exibe o nome completo
nomec=$(cat /etc/passwd | cut -d ":" -f5)

for $user in
do
echo "$user,nome completo:$nomec"
done
Exemplo usuário se chama X, seu nome completo é XYZ
preciso que meu for encaixe o X com o YZ

OBS:não sei se usar o cat no /etc está certo.


Responder tópico

2. Re: laço FOR

Melhor resposta

Enviado em 28/04/2020 - 21:20h

Segue, com o awk, no laço for, meio estranho, mas..... foi o que solicitou.....

#!/bin/bash
for user in $(cut -d":" -f1 /etc/passwd);do
awk -F":" '$1~/'${user}'/ {printf "Nº %02d Usuário:%s Nome:%s\n" ,NR,$1,$5}' /etc/passwd
done
O mesmo resultado...., 18 x mais rápido!!!!!
awk -F":" '$1~/.*/ {printf "Usuário:%s Nome:%s\n",$1,$5}' /etc/passwd
Boa noite Cadu.
O comando:
user=$(cut -d ":" -f1 /etc/passwd)
Pega todos usuários.....
E este outro, todos os nomes:
nomec=$(cut -d ":" -f5 /etc/passwd)
Use um filtro,
grep, awk ou sed
awk -F":" '/^user/' {print $1,$5}' /etc/passwd
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________

3. awk

Enviado em 07/05/2020 - 20:51h

Boa noite!
não entendi como aplico o awk.

em relação ao código fiz um contador de linha com (cat /etc/passwd |wc -l) e também fiz uma única variável para login e nome completo:
lista=$(cat /etc/passwd | cut -d ":" -f1,5) no 1 mostra o login e no 5 o nome completo.

4. Re: Listar os usuários do sistema com laço FOR [RESOLVIDO]

Enviado em 07/05/2020 - 22:54h


cadu405 escreveu:

Boa noite!
não entendi como aplico o awk.

em relação ao código fiz um contador de linha com (cat /etc/passwd |wc -l) e também fiz uma única variável para login e nome completo:
lista=$(cat /etc/passwd | cut -d ":" -f1,5) no 1 mostra o login e no 5 o nome completo.
Boa noite Cadu.
Respondi no tópico anterior, apliquei o awk no seu script....


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder