buscar textos que contenham várias strings
Publicado por Geraldo José Ferreira Chagas Júnior 26/09/2008
[ Hits: 7.681 ]
Homepage: http://prginfo.blogspot.com
Imgine que você queira buscar todos os arquivos .txt que contenham as strings str1, str2, str3, ..., strn.
É só criar um arquivo com as strings a serem procuradas e usar o script.
É diferente do
# grep --file=arq *.txt
pois este retorna as arquivos desde que tenha uma das strings buscadas. No caso do script, o arquivo tem que ter todas as strings procuradas.
Vi um post com essa dúvida e resolvi postar o script.
#******************************************* # Por: Geraldo Jose Ferreira Chagas Junior # 25/09/2008 # #******************************************* #!/bin/sh # checando os parametros if [ $# -le 1 ]; then echo "Faltando parametro. $0 <a ser lido> <arquivos a ser buscado>" exit fi l="" # listando todos os arquivos que entrarao na busca for i in $@; do # o arquivo contendo a lista de string nao entrara na busca if [ $i != $1 ]; then l="$l $i" fi done # abrindo o arquivo com as string e pegando cada uma para ser feita a busca # note que cada string tem que estar em uma linha for o in $(cat $1); do # buscando as string nos arquivos for t in $(grep -l $o $l); do # apenas os arquivos que tem a string procurada fara parte da proxima busca s="$s $t" done # se $s estiver vazio e pq a busca nao encontrou ocorrencia # assim a busca sera encerrada, ja que todas as strings tem que ser # encontrada if [ -z "$s" ]; then exit fi l=$s s="" done echo $l
Teste de Índice de Massa Corporal (IMC)
Identificando sinal de rede sem fio em modo texto
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Porblema com MergeList [RESOLVIDO] (10)
Melhor hospedagem em nuvem para projetos Laravel com baixo custo? [RES... (7)
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta