grep è un utilissimo comando da utilizzare a terminale per cercare stringhe di testo all’interno di file, il default è quello di stampare tutte le righe che contengono la stringa data. Esempi: grep parola file -> stampa tutte le righe del file che contengono parola. cat file1 | grep parola comando unix |grep parola
Probabilmente tutti coloro che utilizzano un terminale conoscono il comando grep
, dalla sua pagina man:
grep cerca nei file dati in input (o standard input se nessun file viene dato, o se un singolo trattino-meno (-) è dato come nome del file) per le linee che contengono una corrispondenza al modello dato. Per impostazione predefinita, grep stampa le linee corrispondenti.
Quindi questo è lo strumento migliore per cercare all’interno di file di grandi dimensioni per una stringa specifica, o il nome di un processo specifico all’interno dell’elenco completo dei processi in esecuzione, ma ha un piccolo limite, cerca la stringa esatta che si chiede, mentre talvolta potrebbe essere utile fare una ricerca “approssimata” o anche detta “fuzzy”.
Per questo obiettivo il programma agrep è stato sviluppato, da wikipedia possiamo vedere qualche dettaglio di questo software:
agrep (grep approssimativo) è un programma di ricerca di stringhe approssimativo proprietario, sviluppato da Udi Manber e Sun Wu tra il 1988 e il 1991, per l’utilizzo con il sistema operativo Unix. E’ stato poi portato su OS/2, DOS e Windows.
Seleziona l’algoritmo più adatto per la query corrente da una varietà delle più veloci (built-in) algoritmi di ricerca tra stringhe, tra cui Manber e l’algoritmo bitap di Wu basato sulla distanza Levenshtein.
agrep è anche il motore di ricerca nel programma indicizzatore GLIMPSE. agrep è gratuito solo per uso privato e non commerciale, e appartiene alla University of Arizona.
Quindi è closed source, ma per fortuna c’è un’alternativa open source source: tre-agrep