Pagina 1 di 1
bash: rilevare una stringa
Inviato: sab 11 set 2010, 16:15
da Absolut
Ciao ragazzi,
ho un file, in cui ad una certa linea vi è un campo NomeCognome="PippoPaperino"
Quello che dovrei fare è rilevare PippoPaperino e assegnarlo a una variabile. Tenete presente che PippoPaperino può essere ovviamente qualsiasi stringa.
sapreste indicarmi come?
thansk!
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 16:20
da Ansa89
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 16:35
da Absolut
Ok, grazie ma così mi viene memorizzata tutta la stringa dove si trova PippoPaperino!
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 16:38
da Ansa89
Scusa, sono un po' sbadato

.
Prova così:
Codice: Seleziona tutto
var=`grep -m 1 "PippoPaperino" nome_file | cut -d "\"" -f 2`
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 16:41
da shark1500
Codice: Seleziona tutto
var=$(grep -m 1 "PippoPaperino" nome_file | gawk -F'"' '{ print $2 }')
Cosi` dovrebbe funzionare, ma non ho ben capito il senso, cioe`, se ad esempio fai
hai comunque la stringa.
Pero` non conosco il contesto quindi do la mia risposta
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 17:02
da Absolut
Ansa89 ha scritto:Scusa, sono un po' sbadato

.
Prova così:
Codice: Seleziona tutto
var=`grep -m 1 "PippoPaperino" nome_file | cut -d "\"" -f 2`
ok sembra funzionare... ma in realtà io non so che li c'è scritto PippoPaperino.. esattamente dovrei prendere:
NomeCognome="xxxx"
dove xxx sta per una qualsiasi stringa...... alfanumerica!
thanks intanto ragazzi!
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 17:07
da shark1500
Sostituisci "PippoPaperino" con "NomeCognome", almeno quella la saprai, o no?
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 17:23
da Absolut
Ok... ma essendoci prima altri campi delimitati da "" vedo il primo della riga....
ad esempio CodiceFiscale="VFDFSF" NomeCognome="PippoPaperino"
mi restituisce VFDFSF
thanks!
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 17:30
da Ansa89
Codice: Seleziona tutto
var=`grep -m 1 "NomeCognome" nome_file | cut -d "\"" -f 4`
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 17:43
da shark1500
No ansa, il tuo non e` generico, funziona sempre in quel caso specifico.
Per fare una cosa generica consiglio di usare quello di prima, pero` prima devi fare un
, cosi` non e` piu` tutto sulla stessa riga.
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 17:53
da Ansa89
shark1500 ha scritto:Per fare una cosa generica consiglio di usare quello di prima, pero` prima devi fare un
, cosi` non e` piu` tutto sulla stessa riga.
Sperando che tra il nome e il cognome non ci siano spazi

.
Re: bash: rilevare una stringa
Inviato: sab 11 set 2010, 23:07
da shark1500
Se si vuole fare una cosa fatta per bene mi sa che non basta una riga di codice come stiamo facendo noi

Re: bash: rilevare una stringa
Inviato: dom 12 set 2010, 16:18
da Absolut
Ciao ragazzi,
grazie al vostro aiuto.. sono riuscito in quello che volevo:
Codice: Seleziona tutto
grep -m 1 -o "NomeCognome=\"[a-zA-Z0-9._]*\"" | gawk -F'"' '{ print $2 }')
grazie intanto per l'aiuto!