Problema com expressão regular

Iniciado por uellington, 02 de Abril de 2012, 19:45

tópico anterior - próximo tópico

uellington

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

agente100gelo

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

Kriptolix

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.

#!/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

uellington