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

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

Re: [shell-script] Gerar arquivo


From: Gilberto Nunes
Subject: Re: [shell-script] Gerar arquivo
Date: Mon, 12 Sep 2016 13:28:20 -0300

Cara

Mandou bem! Eu e meu amigo aqui estavamos nos quebrando pra fazer com um monte de cat, laço for, while... Quase 20 linhas e vc vem com 5 e mata a charada!



Olha o que inventamos: 

#!/bin/bash

while read line 
do
cat $line > /root/nome_usuario
cat $line | cut -d"." -f1 | sed -r 's/(^.| .)/\U&/g' > /root/primeironome
cat $line | cut -d"." -f2 | sed -r 's/(^.| .)/\U&/g' > /root/sobrenome
cat $line | cut -d"." -f1 > /root/senha
cat $line > /root/grupo
paste /root/nome_usuario /root/primeironome /root/sobrenome /root/grupo /root/senha | while read -r campo1 campo2 campo3 campo4 campo5
do

# echo $f1 $f2 $address@hidden $f2
# migra.sh $f1 $f2 $f3 $f2
# migra.sh $f1 $f2 $f1 $f2
echo "$campo1","$campo2","$campo3","$campo4","$campo5@global"
done
done 

Claro que falta corrigir uma pá de coisas!

Mas valeu por sua ajuda!

Abraço

Em 12 de setembro de 2016 12:43, Alfredo Casanova address@hidden [shell-script] <address@hidden> escreveu:
 

corrigindo, faltou um cifrão
cat grupo
#!/bin/bash
while read line; do 
IFS=. read name lastname <<< $line; 
echo "1- Username: $line
2- givenname: ${name^}
3- surname: ${lastname^}
4- OU: ${1/Grupo/}
5- Group: $1
6- Password: ${name}@$lastname
"
done < $1

./grupo GrupoTeste 
1- Username: usuario.teste
2- givenname: Usuario
3- surname: Teste
4- OU: Teste
5- Group: GrupoTeste
6- Password: usuario@teste

1- Username: usuario2.teste2
2- givenname: Usuario2
3- surname: Teste2
4- OU: Teste
5- Group: GrupoTeste
6- Password: usuario2@teste2




On Mon, Sep 12, 2016 at 12:42 PM Alfredo Casanova <address@hidden> wrote:
$ cat grupo
#!/bin/bash
while read line; do 
IFS=. read name lastname <<< $line; 
echo "1- Username: $line
2- givenname: ${name^}
3- surname: ${lastname^}
4- OU: ${1/Grupo/}
5- Group: $1
6- Password: ${name}@lastname
"
done < $1

$ cat GrupoTeste 
usuario.teste
usuario2.teste2

$ chmod +x grupo
$ ./grupo GrupoTeste
./grupo GrupoTeste 
1- Username: usuario.teste
2- givenname: Usuario
3- surname: Teste
4- OU: Teste
5- Group: GrupoTeste
6- Password: usuario@lastname

1- Username: usuario2.teste2
2- givenname: Usuario2
3- surname: Teste2
4- OU: Teste
5- Group: GrupoTeste
6- Password: usuario2@lastname



On Mon, Sep 12, 2016 at 11:08 AM Robson Alexandre address@hidden [shell-script] <address@hidden.br> wrote:
 

Olá Gilberto,

Outro detalhe q vc talvez tenha esquecido de informar é de onde vc vai buscar as informações de 2 a 6?

1 - username = usuario.teste
2 - givenname = Usuario
3 - surname = Teste
4 - ou = Teste
5 - group = GrupoTeste
6 = password = usuario@teste

Seria do próprio arquivo? Seria do sistema? Seria de alguma outra fonte de informação?

É interessante q se tenha um modelo de entrada do arquivo e o modelo de saída desejado.
Como o Rodrigo já escreveu o AWK nesses casos tem melhor performance de execução e resultados. Mas às vezes um simples while com read já resolve tudo.

Atenciosamente
Robson Alexandre


Em Seg, 12 de set de 2016 10:41, Gilberto Nunes address@hidden [shell-script] <address@hidden.br> escreveu:
 

Opa... 

Olá Rodrigo...

Já estou indo nessa direção de desenvolver algo aqui.
Estou pensando em usar laço for, cat e sed pra fazer isso...

Mas obrigado pelo seu retorno... 
Quando conseguir algo ou tiver alguma duvida, entro em contato.

Obrigado


Em 12 de setembro de 2016 10:30, Rodrigo Tenorio rodrigo.boechat.tenorio@gmail.com [shell-script] <address@hidden.br> escreveu:
 

Desculpaê, mas não sou mágico, nem mesmo tenho bola de cristal...

Pesquise sobre sed, ou substring, ou awk no google.
Ao menos tente desenvolver algo com seu próprio esforço e depois peça esclarecimentos sobre sua dúvida com um pedido de ajuda melhor formulado.

Um caminho de pedra... https://www.gnu.org/software/gawk/manual/gawk.html

:)


Em 12 de setembro de 2016 10:03, Gilberto Nunes address@hidden [shell-script] <address@hidden.br> escreveu:
 

Olá amigos...

Eu preciso gerar a seguinte informação:

Exemplo:

Tenho arquivos chamado GrupoTeste

Dentro deste arquivo está:
usuario.teste

Além de vários outros.

Preciso usar sed, cat ou seja lá que mágica for, para gerar um saída com 6 parametros:

1 - username = usuario.teste
2 - givenname = Usuario
3 - surname = Teste
4 - ou = Teste
5 - group = GrupoTeste
6 = password = usuario@teste

Alguém pode me ajudar???

Agradeço muitíssimo!

Obrigado



--

Gilberto Ferreira
+55 (47) 9676-7530
Skype: gilberto.nunes36





--

Gilberto Ferreira
+55 (47) 9676-7530
Skype: gilberto.nunes36

--
Atenciosamente

Robson Alexandre




--

Gilberto Ferreira
+55 (47) 9676-7530
Skype: gilberto.nunes36


reply via email to

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