USARE SED PER TROVARE E SOSTITUIRE

8 / 100

USARE SED PER TROVARE E SOSTITUIRE

Il comando sed ti consente di cercare le occorrenze di una parola o di un modello di testo e quindi eseguire alcune azioni su di esso. Il nome del comando è una contrazione di editor di flussi, perché segue lo stesso concetto di editor di flussi.

Nella sua forma più elementare, sed opera come la funzione Trova e sostituisci di Windows.

Cerca la parola mysql nel file snort.conf usando grep, in questo modo:

kali >cat /etc/snort/snort.conf | grep mysql
includi $RULE_PATH/mysql.rules

include $RULE_PATH/servermysql.rules

Dovresti vedere che il comando grep ha trovato due occorrenze di mysql. Supponiamo che tu voglia sed per sostituire ogni occorrenza di mysql con MySQL (ricorda, Linux fa distinzione tra maiuscole e minuscole) e quindi salvare il nuovo file su snort2.conf. Puoi farlo inserendo il comando mostrato nel Listato 26.

kali >sed s/mysql/MySQL/g /etc/snort/snort.conf > snort2.conf
Listato 26:

Utilizzo di sed per trovare e sostituire parole chiave o frasi
Il comando s esegue la ricerca: prima dai il termine che stai cercando (mysql) e poi il termine con cui vuoi sostituirlo (MySQL), separato da una barra (/). Il comando g dice a Linux che vuoi che la sostituzione venga eseguita globalmente. Allora il risultato è
salvato in un nuovo file chiamato snort2.conf.

Ora, quando usi grep con snort2.conf per cercare mysql, vedrai che non sono state trovate istanze, ma quando cerchi MySQL, vedrai due occorrenze.

kali >cat snort2.conf | grep MySQL
includi $RULE_PATH/MySQL.rules

include $RULE_PATH/serverMySQL.rules

Se volessi sostituire solo la prima occorrenza del termine mysql, tralasci il comando g finale.


kali >sed s/mysql/MySQL/ snort.conf > snort2.conf

Puoi anche utilizzare il comando sed per trovare e sostituire qualsiasi occorrenza specifica di una parola anziché tutte le occorrenze o solo la prima occorrenza. Ad esempio, se desideri sostituire solo la seconda occorrenza della parola mysql, inserisci semplicemente il numero dell’occorrenza (in questo caso 2) alla fine del comando:

kali >sed s/mysql/MySQL/2 snort.conf > snort2.conf

Questo comando ha effetto solo sulla seconda occorrenza di mysql.