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: [EMAIL PROTECTED] -- ----- Mensagem original ---- De: César Vianna <[EMAIL PROTECTED]> Para: [email protected] 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: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] 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]
