Grep per riscontro su più righe

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Scrivi risposta
vinny74
Prode Principiante
Messaggi: 157
Iscrizione: lunedì 13 aprile 2009, 16:26

Grep per riscontro su più righe

Messaggio da vinny74 »

Ciao a tutti è possibile eseguire una ricerca con grep su un file e mi stampi a video solo se la ricerca ha trovato corrispondenze su due righe successive.

Il file è così composto

Codice: Seleziona tutto

[account]
user    = user1
password    = password1

[account]
user    = user2
password    = password2

[account]
home_dir    = /home/test
e così via, il mio intento è trovare una corrispondenza precisa per ogni riga dove "user = aaa" sia preceduto da [account], e eventualmente mi porto già avanti devo creare uno script che cancelli tutte un blocco intero dell'account specificato tramite user.

per la ricerca ho utilizzato

Codice: Seleziona tutto

grep -E "account|user1" file.conf
ma non mi dà una corrispondenza univoca mi elenca prima tutti le voci [account] e poi user1.
Non so magari sto sbagliando l'approccio il mio fine ultimo è questo, creare uno script che in base a quello che gli passo aggiunge una riga subito dopo quella con user=user oppure cancella l'intero blocco account in base all'user passato da riga.

Grazie
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 9 ospiti