Comando Grep - parametros

1. Comando Grep - parametros

Eder Junio
Kyuzo

(usa CentOS)

Enviado em 09/09/2009 - 10:12h

Bom dia,

gostaria de ajuda no seguinte caso.

Tenho um arquivo .txt com as informações de alunos seuindo o padrão abaixo:

:nome: :e-mail: :RA: :curso: :turno:

Com essas informações tenho que criar usuários e salvar em outro arquivo, um dos padrões a seguir é:
- Formado pelo primeiro nome da pessoa + as iniciais de cada sobrenome.


A minha dificuldade é, como usar o comando grep de forma que ele vai considar as informações dos nomes que ficam entre : , mesmo que as demais informações que estão na mesma linha ficam entre : também.. Outra coisa que me intriga é o fato de cada nome ter um tamanho diferente, pois caso contrario poderia usar o parametro cut .

Desde já, agradeço a atenção.


  


2. Re: Comando Grep - parametros

Francisco Ambrozio
fco

(usa Slackware)

Enviado em 09/09/2009 - 10:19h

Mas você pode usar o cut!

Veja:

$ LINHA=":nome: :e-mail: :RA: :curso: :turno:"

$ echo $LINHA | cut -f2 -d:
$ nome

$ echo $LINHA | cut -f4 -d:
$ e-mail

Sacou?


3. Re: Comando Grep - parametros

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 10/09/2009 - 14:00h

Acredito que a resposta do Xico realmente é o que vc precisa, mas o awk também pode servir. ex: awk '{print $2}'


4. Re: Comando Grep - parametros

Daniel Fernandes
volcom

(usa Debian)

Enviado em 10/09/2009 - 14:34h

Além do grep, cut e awk, creio que vai precisar usar o SED para conseguir pegar a primeira letra de cada sobrenome, não sei a expressão regular exata...mas o caminho das pedras deve ser esse!


5. Re: Comando Grep - parametros

Denis Doria
thuck

(usa Debian)

Enviado em 10/09/2009 - 15:59h

thuck@thuck:~/test$ cat alunos
:Denis Doria: :denisdoria@hotmail.com: :1234: :cc: :M:
:Denis Doria de Oliveira: :dd@hotmail.com: :432: :kk: :N:
:Denis Doria de Oliveira Santos: :ff@gmail.com: :3453: :uu: :M:

thuck@thuck:~/test$ cut -d: -f2 alunos| awk -F' ' '{iniciais=""; for(i=2;i<=NF;i++){iniciais=iniciais""substr($i,1,1)};print $1iniciais }'
DenisD
DenisDdO
DenisDdOS



6. Re: Comando Grep - parametros

Denis Doria
thuck

(usa Debian)

Enviado em 10/09/2009 - 16:02h

thuck@thuck:~/test$ cut -d: -f2 alunos| awk -F' ' '{iniciais=""; for(i=2;i<=NF;i++){iniciais=iniciais""substr($i,1,1)};print tolower($1iniciais) }'
denisd
denisddo
denisddos

Caso vc queira tudo em minuscula, precisa usar a função tolower como acima.


7. Re: Comando Grep - parametros

Eder Junio
Kyuzo

(usa CentOS)

Enviado em 10/09/2009 - 18:15h

Bom pessoal, primeiramente obrigado pela atenção... Vou testar estes parametros hoje a noite,
caso houver mais alguma duvida, estarei postando e se tudo der certo postarei qual a maneira das sugeridas que eu usei. Vlw mesmo.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts