shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Criação de arquivos de usuários baseado no /etc/passw


From: César Vianna
Subject: Re: [shell-script] Criação de arquivos de usuários baseado no /etc/passwd
Date: Thu, 10 Jul 2008 13:06:12 -0300

É por isso que sugeri fazer separado. Meu amigo Júlio talvez discorde. Mas,
as soluções de "uma linha" por vezes complicam a vida.

Sugestão:

#!/bin/bash

for i in `cat /etc/passwd`
do
    campo1=`cut -d: -f1 <<< $i`
    campo5=`cut -d: -f5 <<< $i`
    #agora você faz o que quiser com cada um dos valores
done







2008/7/10 Allan Carvalho <address@hidden>:

>   César.
>
> Mais uma vez muito obrigado por sua ajuda.
>
> Tive um problema ao executar o script, abaixo transcrevo o script que
> produzi:
>
> #!/bin/bash
>
> for i in `cut -d: -f1,5 /etc/passwd`
> do
> echo $i >> /root/user/usuarios.txt
> done
>
> Agora, vou pegar somente a linha do usuario que criei no /etc/passwd
>
> allan:x:1002:1003:Allan Carvalho,,,:/home/allan:/bin/bash
>
> E agora, o resultado no arquivo usuarios.txt
>
> allan:Allan
> Carvalho,,,
>
> Note que ele tratou o espaço existente entre o primeiro e o segundo nome
> como o início de uma nova linha, e na verdade, eu queria que ficasse como
> allan:Allan Carvalho .
>
> Como eu poderia corrigir isso?
>
> --
> Atenciosamente,
> Allan Carvalho
> MSN: address@hidden <allanc2%40gmail.com>
> --
>
> ----- Mensagem original ----
> De: César Vianna <address@hidden <cesar.vianna%40gmail.com>>
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Enviadas: Quinta-feira, 10 de Julho de 2008 9:22:57
> Assunto: Re: [shell-script] Criação de arquivos de usuários baseado no
> /etc/passwd
>
>
> Opa Allan
>
> Vamos desmembrar esse cut
>
> d é o delimitador
> f é o campo
>
> Segue um exemplo, pegando o 5º campo
>
> $ cut -d: -f5 <<< "teste:x:18325: 18325:NOME DO
> USUARIO:/home/ teste:/bin/ bash"
> NOME DO USUARIO
>
> 2008/7/10 Allan Carvalho <allancarvalho1@ yahoo.com. br>:
>
> > Prezados.
> >
> > Tenho o seguinte caso:
> >
> > Preciso criar um arquivo com o login e o nome completo do usuário,
> pegando
> > estas informações do /etc/passwd, aproveitando a dica do César Vianna,
> > consigo pegar o login do usuário pelo laço for:
> >
> > for i in `cut -d: -f1 /etc/passwd`
> >
> > Bom, consigo pegar o login do usuário, como implementar para que eu
> consiga
> > pegar também o nome do usuário, já que, após o primeiro ":", existem mais
> > três campos até o nome do usuário.
> >
> > Agradeço desde já.
> >
> > --
> > Atenciosamente,
> > Allan Carvalho
> > MSN: allanc2@gmail. com <allanc2%40gmail. com>
> > --
> >
> > Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua
> > cara @ymail.com ou @rocketmail. com.
> > http://br.new. mail.yahoo. com/addresses
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> César Vianna
> ------------ -------
> "Talvez porque eu pense demais ou sonhe demais, o certo é que não distingo
> entre a realidade que existe e o sonho, que é a realidade que não existe."
> Fernando Pessoa
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua
> cara @ymail.com ou @rocketmail.com.
> http://br.new.mail.yahoo.com/addresses
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
César Vianna
-------------------
"Talvez porque eu pense demais ou sonhe demais, o certo é que não distingo
entre a realidade que existe e o sonho, que é a realidade que não existe."
Fernando Pessoa


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]