Autor Tópico: Problema com expressão regular  (Lida 2357 vezes)

Offline uellington

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Problema com expressão regular
« Online: 02 de Abril de 2012, 19:45 »
Olá a todos!
Estou com um problema com expressão regular no shell script !/bin/bash

Estou tentando fazer um programa que faz o seguinte:
A partir de um arquivo de texto com uma lista de nomes, ele leia linha por linha e transforme o nome em email para outro arquivo conforme o exemplo abaixo. Usa primeiro nome, coloca ponto e ultimo sobrenome e exclui o restante

Maria Silva Gonçavels => maria.gonçalves@email.com
João Alberto da Silva Meira => joao.meira@email.com
Aline Faria => aline.faria@email.com

Tentei usando o comando grep e sed, mas o maximo que consegui foi trocar os espaços por ponto com esse comando "sed 's/ /./g' /home/uellington/usuarios.txt > emails.txt", quando eu tento excluir tudo entre o primeiro ponto e o outro, nao funciona e nao descobri porque ainda....
Qualquer ajuda é bem vinda...vlws

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.369
  • @Ceará
    • Ver perfil
Re: Problema com expressão regular
« Resposta #1 Online: 02 de Abril de 2012, 21:24 »
O negócio é meio complicado.
Expressões regulares  são complicadas.

Sugiro este livro: http://www.piazinho.com.br/
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline Kriptolix

  • Usuário Ubuntu
  • *
  • Mensagens: 314
    • Ver perfil
    • Kriptolix
Re: Problema com expressão regular
« Resposta #2 Online: 03 de Abril de 2012, 15:03 »
Ok, basicamente isso fara o trabalho, nao contemplei o caso do upercase e lowercase, alem dos caracteres acentuados, creio que isso sera facil de resolver com sed e/ou tr.

Código: [Selecionar]
#!/bin/bash

while read line ; do
v1=`echo $line | cut -f1 -d ' '`
wc=`echo $line | wc -w | cut -f1 -d ' '`
v2=`echo $line | cut -f $wc -d ' '`
echo $v1'.'$v2'@email.com.br'
done < arquivo_lista_de_nomes
Ubuntu Linux 10.10

Offline uellington

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Re: Problema com expressão regular
« Resposta #3 Online: 03 de Abril de 2012, 17:47 »
Opa... vlwww, vou testar aki