Pesquisa recursiva
Publicado por Marco Carvalho de Oliveira 24/10/2008
[ Hits: 12.459 ]
Homepage: http://demoncyber.wordpress.com/
Certo dia um professor me procurou perguntado como ele poderia fazer uma busca recursiva em vários arquivos de pdf em várias pastas para saber se existia uma determinada expressão neles, utilizando shellscript. E aí está a resposta.
Processo adotado:
- Converter arquivos pdf em texto
- Fazer a busca por expressão regular no arquivo com a expressão requisitada
- Escrever em um outro arquivo os documentos que contém a expressão procurada
# procura-recursiva - Simples script para a busca em vários arquivos do tipo pdf de forma recursiva # Marco Carvalho de Oliveira - demoncyber@gmail.com ou marco@colmeia.udesc.br # Colméia - Grupo de Pesquisa em Software Livre # #!/bin/bash IFS=$’\n’ #seta o separador de comandos para quebra de linha isto é para resolver caso tenhamos a indesejável utilização de espaços nos nomes dos arquivos MYTMP=/tmp/procura-recursiva/ # pasta utilizada pelo programa rm -rf $MYTMP mkdir $MYTMP for files_pdf in `find -type f | grep “\.pdf$” | sed “s/\.//”` do LOC_FILE=`pwd`$files_pdf # diretorio onde se encontra o arquivo seguido do seu nome NAME_FILE=`basename $files_pdf` # nome dp arquivo pdf analizado FIND_FILE=$MYTMP$NAME_FILE.txt # Arquivo temporário de pdf em forma de texto para ser utilizado na busca rescursiva pdftotext $LOC_FILE $FIND_FILE # Converte o arquivo pdf para um arquivo de texto para executar a busca grep $1 $FIND_FILE >> /dev/null # Procura no arquivo de texto e joga o resultado para o buraco negro if [ $? = 0 ] then #verifica se a busca foi bem sucedida caso sim imprime que foi econtrada a palavra chave no arquivo echo “Expressao encontrada no arquivo $NAME_FILE”; fi done # modo de usar, estando no diretorio que vc quer fazer a busca # bash procura-recursiva expressao
Instalando o Xen 4.0 no Debian 6 64 bits
Miguxeitor.sed - converse com seus miguxos
Converter arquivo bibtex para texto formatado e vice-versa
O Editor de Texto Nano: Simplicidade no Terminal
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Eu aprendi o segredo das artes! hahaha (2)
Como instalo o Clipper/Harbour no Linux Ubuntu (0)
O que você está ouvindo agora? [2] (243)









