Eu quero grep alguma linha de um arquivo de log com uma entrada de outro arquivo. Estou usando este pequeno comando para fazer isso:
while read line; do
grep "$line" service.log;
done < input_strings.txt > result.txt
input_strings.txt
tem cerca de 50.000 strings (uma por linha). Para cada uma dessas strings, estou pesquisando o service.log
arquivo enorme (com cerca de 2.000.000 de linhas).
Então, digamos que a primeira string de input_strings.txt
seja encontrada na service.log
linha 10 000, esta linha é gravada no meu arquivo result.txt
. Depois disso, a 2ª string de input_strings.txt
será pesquisada em service.log
, MAS iniciando na linha 1 de service.log
.
Como posso me lembrar da última linha em que encontrei a primeira entrada service.log
? Para que eu possa iniciar a 2ª busca por lá?