egrep em strings [RESOLVIDO]

1. egrep em strings [RESOLVIDO]

Alessandro Périgo
perigo

(usa Slackware)

Enviado em 18/03/2011 - 19:13h

Ola pessoal, seguinte preciso filtrar linha em um arquivo que contem uma lista de musicas feita com o ls mas so achei uma forma que me retorna assim:
#PREENCHENDO A LISTA MUSICALIST COM OS NOMES
find /geral/musica/sertanejo -name "*.mp3" -type f -exec ls > musicalist {} \;&&
#FILTRANDO OS NOMES
find /geral/ -name musicalist -type f -exec egrep -i "($cantor|$musicaa)" > musicalist2 {} \;
O problema que estou tendo q ele retorna mais de uma linha

A soloucao que quero eh que inves de usar esse operador | "ou" que ou seja uma palavra ou outra ele me retorna-se somente a linha que contenha essas duas palavras..

Alguma solucao?


  


2. outra solucao

Alessandro Périgo
perigo

(usa Slackware)

Enviado em 18/03/2011 - 20:27h

Outra solucao mas retorna os mesmos resultados...

Assumindo que o valor pra cantor seja Daniel e musica Vinho
find /geral/musica/sertanejo -name "*.mp3" -type f -exec ls > musicalist {} \;&&
egrep -i "($cantor|$musica)" musicalist > musicalist2

Olhem o resultado:
/geral/musica/sertanejo/Daniel - Vinho Verde.mp3
/geral/musica/sertanejo/Daniel - A Primeira Letra.mp3
/geral/musica/sertanejo/Tchê Garotos - Daniela.mp3
/geral/musica/sertanejo/Daniel - Difícil não falar de amor.mp3
/geral/musica/sertanejo/Bruno e Marrone - Lagrimas e vinho.mp3

Pois eu gostaria que retorna-se somente essa primeira linha, que contenha a palavra Daniel e Vinho



3. Veja esses exemplos.

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 19/03/2011 - 01:29h

Usando operador AND no awk:

$ awk '/Daniel/ && /Vinho/' musicalist
/geral/musica/sertanejo/Daniel - Vinho Verde.mp3

"Simulando" operador AND no grep:
$ grep "Daniel.*Vinho" musicalist
/geral/musica/sertanejo/Daniel - Vinho Verde.mp3







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts