[Cascavel-pm] busca em arquivo
Diego Mendes Teixeira
diegom em lcc.ufmg.br
Segunda Outubro 23 11:40:43 PDT 2006
Estudo no UNI-BH (Centro Universitario de Belo Horizonte)... mas faço
estágio na UFMG e PowerLogic....
t+
Diego
.============================================.
Diego Mendes Teixeira - diegom em lcc.ufmg.br
Setor de Desenvolvimento - UFMG - LCC/CENAPAD
Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910
'============================================'
Lorn
<lorn.br em gmail.co
m> Para
Enviado Por: "Cascavel Perl Mongers"
cascavel-pm-bounc <cascavel-pm em pm.org>
es+diegom=lcc.ufm cc
g.br em pm.org
Assunto
Re: [Cascavel-pm] busca em arquivo
20/10/2006 18:27
Favor responder a
Cascavel Perl
Mongers
<cascavel-pm em pm.o
rg>
http://search.cpan.org/~jgoldberg/Text-Levenshtein-0.05/Levenshtein.pm
Esse modulo é um bom começo para buscas aproximadas, boa sorte
PS: Que faculdade é a sua?
On 10/20/06, Diego Mendes Teixeira <diegom em lcc.ufmg.br> wrote:
EU JA FIZ O DE EXPRESSAO REGULAR QUE ESTA FUNCIONANDO SIM, FALTA NA
BUSCA APROXIMADA O PROGRAMA NAO FAZER DISTINCAO ENTRE LETRAS
MAIUSCULAS E MINUSCULAS. JA NO OUTRO PROGRAMA EU NAO SEI COMO
ADICIONAR O TEXTO EM UM ARRAY E FAZER A BUSCA PELA PALAVRA.... AINDA
NAO COMECEI....
==================================================================================================================================
#!/usr/local/bin/perl
#Programa de busca de casamento de padrao em perl com uso de
expressoes regulares
print "\nEscolha a opcão de busca e a palavra a ser buscada(passagem
por argumento)\n\n";
print "0 - Busca exata\n";
print "1 - Busca aproximada\n\n";
print "Exemplo: perl [programa] [tipo de busca] [palavra]\n\n";
foreach $argument(@ARGV){ #carrega um argumento por vez para a
variavel $argument
push(@arguments,$argument); #adiciona o argumento ao array @arguments
}
if ($arguments[0] == '0'){ #Testa o primeiro argumento, se '0' entao
busca exata!
$palavra = $arguments[1];#a palavra é recuperada o array
$aux = 0;#linha da ocorrencia da palavra
$aux2 = 0; #se ocorrencia da palavra
open( ARQUIVO, "texto.txt" ) || die "Erro ao abrir arquivo
texto.txt\n"; #abre o arquivo que sera lido
while ( $linha = <ARQUIVO> ) { #laço que carrega as linhas do arquivo
++$aux;#variavel que guarda a linha que esta sendo lida
if ( $linha =~ /\b$palavra\b/ ) { #testa se a palavra esta na linha
referenciada
print "Linha:".$aux."\n";#imprime a linha caso tenha encontrado a
palavra
$aux2 = 1; #seta aux2 indicando que pelo menos uma ocorrencia da
palavra foi encontrada
}
}
close ( ARQUIVO ); #fecha o arquivo
if ($aux2 == 0){ #testa se aux2 foi setado
print "Não foi encontrado nenhuma ocorrência da palavra:
".$palavra."\n\n";
}
}
else { #Busca aproximada!
$palavra = $arguments[1];#a palavra é recuperada o array
$aux = 0;#linha da ocorrencia da palavra
$aux2 = 0; #se ocorrencia da palavra
open( ARQUIVO, "texto.txt" ) || die "Erro ao abrir arquivo
texto.txt\n"; #abre o arquivo que sera lido
while ( $linha = <ARQUIVO> ) { #laço que carrega as linhas do arquivo
++$aux;#variavel que guarda a linha que esta sendo lida
if (( $linha =~ /$palavra/ ) || ($linhaMaus =~/$palavra/) ||
($linhaMin =~/$palavra/)){ #testa se a palavra esta na linha
referenciada
print "Linha:".$aux."\n";#imprime a linha caso tenha encontrado a
palavra
$aux2 = 1; #seta aux2 indicando que pelo menos uma ocorrencia da
palavra foi encontrada
}
}
close ( ARQUIVO ); #fecha o arquivo
if ($aux2 == 0){ #testa se aux2 foi setado
print "Não foi encontrado nenhuma ocorrência da palavra:
".$palavra."\n\n";
}
}
==================================================================================================================================
VLW, AGUARDO RETORNO.........
(Consulte o arquivo anexado: erPerl.pl)
.============================================.
Diego Mendes Teixeira - diegom em lcc.ufmg.br
Setor de Desenvolvimento - UFMG - LCC/CENAPAD
Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910
'============================================'
Inativo ocultar detalhes de"Gabriel Vieira"
<gabriel.vieira em gmail.com>"Gabriel Vieira" < gabriel.vieira em gmail.com
>
"Gabriel Vieira" <
gabriel.vieira em gma
il.com>
Enviado Por:
cascavel-pm-bounce Para
s+diegom=
lcc.ufmg.br em pm.org "Cascavel Perl
Mongers" <
cascavel-pm em pm.org>
20/10/2006 14:34
cc
Favor responder a
Cascavel Perl Mongers <cascavel-pm em pm.org Assunto
>
Re: [Cascavel-pm]
busca em arquivo
Você já começou?
Mostra o que já fez que lhe ajudaremos. Não podemos fazer todo um
trabalho por você né. :)
No aguardo,
Gabriel Vieira
On 10/20/06, Diego Mendes Teixeira < diegom em lcc.ufmg.br> wrote:
Boa Tarde,
Tenho que fazer um trabalho em perl para a máteria de
linguagens de programação.
O objetivo deste trabalho é projetar e implementar um
sistema de programas para recuperar
ocorrências de padrões em arquivos constituídos de
documentos, utilizando algoritmos lineares
de busca seqüencial.
O professor pede que eu desenvolva 2 algoritmos:
1 - BMH em Perl com arranjo dinâmico em heap
2 - Casamento em Perl com uso de expressões regulares
O sistema recebe do usuário uma cadeia de caracteres, se
a busca é exata (k=0) ou aproximada
(0 < k < m), e imprime todas as ocorrências do padrão no
texto.
Alguem poderia me dar uma ajuda???????
Vlw
.============================================.
Diego Mendes Teixeira - diegom em lcc.ufmg.br
Setor de Desenvolvimento - UFMG - LCC/CENAPAD
Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910
'============================================'
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
--
Lorn
- Slackware Linux
www.slackwarezine.com.br
- http://lornlab.org _______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20061023/824398c0/attachment-0001.html
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome : graycol.gif
Tipo : image/gif
Tam : 105 bytes
Descr.: não disponível
Url : http://mail.pm.org/pipermail/cascavel-pm/attachments/20061023/824398c0/attachment-0003.gif
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome : pic00491.gif
Tipo : image/gif
Tam : 1255 bytes
Descr.: não disponível
Url : http://mail.pm.org/pipermail/cascavel-pm/attachments/20061023/824398c0/attachment-0004.gif
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome : ecblank.gif
Tipo : image/gif
Tam : 45 bytes
Descr.: não disponível
Url : http://mail.pm.org/pipermail/cascavel-pm/attachments/20061023/824398c0/attachment-0005.gif
Mais detalhes sobre a lista de discussão Cascavel-pm