egrep: concatenare comandi

Installazione, configurazione e uso di programmi e strumenti.
jack_the_ripper
Prode Principiante
Messaggi: 62
Iscrizione: martedì 28 novembre 2006, 11:55
Località: Imola

egrep: concatenare comandi

Messaggio da jack_the_ripper »

ragazzi io avrei bisogno di filtrare un file di testo secondo le seguenti condizioni

Codice: Seleziona tutto

egrep -o 'parolachiave1( |\w)*' #caratteri alfanumerici e spazi tra la parola chiave 1 e un non-alfanumerico

egrep parolachiave2 #una riga intera che contiene la parola chiave 2

egrep -o parolachiave3=[0-9]{1,\} #tutti i numeri di una o più cifre che seguono la parola chiave 3
ora, io riesco a dare questi comandi separatamente, e i risultati sono esatti, quello che mi serve è "unire" questi tre filtri in modo da avere una cosa tipo "condizione uno OR condizione due OR condizione tre"...in modo da avere come output i pezzi di testo che rispondo a una o l'altra condizione, rispettando l'ordine originario del testo.
come si può fare?
:-\
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 352
Iscrizione: lunedì 4 dicembre 2006, 22:11
Località: Santa Vittoria d'Alba (CN)

Re: egrep: concatenare comandi

Messaggio da giolock »

Hai provato con qualcosa del genere?:

Codice: Seleziona tutto

egrep -o 'parolachiave1( |\w)*|^.*parolachiave2.*$|parolachiave3=[0-9]{1,\}'
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
jack_the_ripper
Prode Principiante
Messaggi: 62
Iscrizione: martedì 28 novembre 2006, 11:55
Località: Imola

Re: egrep: concatenare comandi

Messaggio da jack_the_ripper »

quasi..mi restituisce i match per le prime due condizioni ma non per la terza..come mai?

già che ci sono, e se invece volessi il match esatto (egrep -o) anche della parola chiave 2?

risp grazieeeeeeeee  ;D
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 352
Iscrizione: lunedì 4 dicembre 2006, 22:11
Località: Santa Vittoria d'Alba (CN)

Re: egrep: concatenare comandi

Messaggio da giolock »

probabilmente perchè racchiudendo tutto tra apici non devi mettere il carattere di escape \ prima di }

Codice: Seleziona tutto

egrep -o 'parolachiave1( |\w)*|^.*parolachiave2.*$|parolachiave3=[0-9]{1,}'
per il match esatto è molto semplice:

Codice: Seleziona tutto

egrep -o 'parolachiave1( |\w)*|parolachiave2|parolachiave3=[0-9]{1,\}'
i caratteri ^ e $ indicano inizio e fine linea mentre .* indica una sequenza qualsiasi di caratteri, anche di lunghezza 0.
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti