FILTRARE IL TESTO CON GREP
Il comando grep è probabilmente il comando di manipolazione del testo più utilizzato. Ti consente di filtrare il contenuto di un file per la visualizzazione. Se, ad esempio, vuoi vedere tutte le righe che includono la parola output nel tuo file snort.conf, puoi usare cat e chiedergli di visualizzare solo quelle righe
kali >cat /etc/snort/snort.conf | grep output
6) Configura i plugin di output
Passo #6: Configura i plugin di output
output unified2: nome file merged.log, limit 128, nostamp, mpls_event_types,
vlan_event_types
output unified2: nome file merged.log, limite 128, nostamp, mpls_event_types,
vlan_event_types
output alert_unified2: nome file merged.log, limit 128, nostamp
output log_unified2: nome file merged.log, limite 128, nostamp
output alert_syslog: LOG_AUTH LOG_ALERT
output log_tcpdump: tcpdump.log
Listato 25:
Visualizzazione di righe con istanze della parola chiave o della frase specificata da grep
Questo comando visualizzerà prima snort.conf e quindi utilizzerà una pipe (|) per inviarlo a grep, che prenderà il file come input, cercherà le righe con occorrenze della parola output e visualizzare solo quelle righe.
Il comando grep è un comando molto potente ed essenziale per lavorare in Linux, perché può farti risparmiare ore di ricerca per ogni occorrenza di una parola o comando in un file.
La sintassi del comando è: grep schema nome_file. Per schema si può intendere qualsiasi espressione, dalla stringa semplice a stringhe contenenti caratteri jolly (*, ? o [] )
N.b.: ricorda che UNIX è case-sensitive
Opzioni
-v recupera le linee che non corrispondono allo schema (molto utile per creare un file secondario da cui escludere tutta una serie di linee indesiderate. Per farlo basta un comando del tipo $ grep “Titolo” file_1 > file_2. Il risultato è un file in cui non è presente nessuna riga corrispondente alla stringa “Titolo”)
-n recupera la linea corrispondente allo schema e riporta anche il numero della linea
-l produce in output una lista dei files che contengono almeno una linea corrisponedente allo schema (utile nel caso di ricerche fatte su più file)
-c produce in output il conteggio delle linee corrispondenti allo schema all’interno del file o dei file oggetto della ricerca
-i rende la ricerca case-insensitive per cui non si preoccupa se i caratteri sono maiuscoli o minuscoli
-f E’ un’opzione molto interessante. Da inserire al posto dello schema seguita da un nome di file. Utilizza le righe contenute nel file come schema per l’operazione di ricerca. Utilizzato in concomitanza con l’opzione -v può servire per eliminare da un file tutte le righe che coincidono con quelle contenute in un altro file.