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

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

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


From: Allan Carvalho
Subject: Res: [shell-script] Criação de arquivos de usuários baseado no /etc/passwd
Date: Fri, 11 Jul 2008 04:39:31 -0700 (PDT)

Perfeito César... agora rodou legal, mais uma vez muito obrigado.

 
--
Atenciosamente,
Allan Carvalho 
MSN: address@hidden
--



----- Mensagem original ----
De: César Vianna <address@hidden>
Para: address@hidden
Enviadas: Quinta-feira, 10 de Julho de 2008 17:51:13
Assunto: Re: [shell-script] Criação de arquivos de usuários baseado no 
/etc/passwd


Desculpe, esqueci de um detalhe. O IFS - é o separator tabajara

No exemplo abaixo, altero o caracter separador padrão para um "enter"

#!/bin/bash
IFS="
"
for i in `cat /etc/passwd`
do
login=`cut -d: -f1 <<< $i`
nome=`cut -d: -f5 <<< $i`
echo $login ":" $nome
done

2008/7/10 Allan Carvalho <allancarvalho1@ yahoo.com. br>:

>   César.
>
> Mais uma vez agradeço pela sua ajuda, porém, escrevi o script conforme sua
> sugestão e obtive o mesmo resultado, ele está considerando o espaço entre os
> nomes como o início de uma nova linha.
>
>
> #!/bin/bash
>
> for i in `cat /etc/passwd`
> do
> login=`cut -d: -f1 <<< $i`
> nome=`cut -d: -f5 <<< $i`
> echo $login ":" $nome >> /root/user/usuarios .txt
> done
>
> --
> Atenciosamente,
> Allan Carvalho
> MSN: allanc2@gmail. com <allanc2%40gmail. com>
> --
>
> ----- Mensagem original ----
> De: César Vianna <cesar.vianna@ gmail.com <cesar.vianna% 40gmail.com> >
> Para: shell-script@ yahoogrupos. com.br <shell-script% 40yahoogrupos. com.br>
> Enviadas: Quinta-feira, 10 de Julho de 2008 13:06:12
> Assunto: Re: [shell-script] Criação de arquivos de usuários baseado no
> /etc/passwd
>
> É 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 <allancarvalho1@ yahoo.com. br>:
>
> > 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: allanc2@gmail. com <allanc2%40gmail. com>
> > --
> >
> > ----- Mensagem original ----
> > De: César Vianna <cesar.vianna@ gmail.com <cesar.vianna% 40gmail.com> >
> > Para: shell-script@ yahoogrupos. com.br <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]
>
> 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]



reply via email to

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