Come cercare con “grep” usando le stringhe in un file

Contenuti

Bash Shell

Grep è uno strumento straordinario per la ricerca di informazioni utili nei file di registro, ma cosa succede se si desidera cercare un file di registro utilizzando un elenco gigante di parole chiave da un altro file?? fortunatamente, ha anche quella funzione integrata.

Questo mi è successo quando volevo estrarre un elenco di tutti gli URL richiesti da un grosso blocco IP che stava attaccando abusivamente il nostro server. Dopo aver identificato e creato l'elenco dei mille indirizzi IP, Avevo bisogno di estrarre gli URL dal file di registro principale per identificare le risorse più richieste.

Per fare questo, vorrai usare l'argomento -f, que le posibilita especificar un archivo para la lista de patrones a buscar.

-f FILE, --file=FILE
    Obtain patterns from FILE, one per line.  The empty file
    contains zero patterns, and therefore  matches  nothing.
    (-f is specified by POSIX.)

Suponiendo que su conjunto de palabras clave o cadenas está en un archivo llamadocadenas de búsqueda”, puede utilizar el argumento en la línea de comando como en el siguiente ejemplo. Dado que esta búsqueda va a generar una tonelada de datos, la parte “> output.txt ”del comando invia l'output del comando a un file chiamato output.txt che può essere analizzato separatamente.

grep -f stringhe di ricerca filetosearch > output.txt

L'unico problema con l'utilizzo dell'argomento -f è che grep proverà a interpretare le parole chiave come se fossero modelli, che può rallentarti durante l'analisi di un file estremamente grande. Perché, puoi anche specificare il parametro -F, che dice a grep di abbinare solo stringhe esatte.

 -F, --fixed-strings
    Interpret PATTERN as a  list  of  fixed  strings,  separated  by
    newlines,  any  of  which is to be matched.  (-F is specified by
    POSIX.)

Quindi, il comando completo finirebbe per essere più simile a questo:

grep -F -f searchstrings filetosearch > output.txt

Grep è un modo incredibilmente potente per cercare i file di registro, quindi potrebbe valere la pena dedicare del tempo a rivedere il file man.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.