Repository 32bit  Forum
Repository 64bit  Wiki

egrep -o in awk

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

egrep -o in awk

Messaggioda ZeroUno » mer ott 10, 2012 16:51

c'è una funzione di awk che mi faccia l'equivalente di egrep -o ?

per esempio

echo 123abc456|egrep -o "[a-z]+"
mi restituisce abc

awk:
{ x="123abc456"; y=qualchefunzione(/[a-z]+/,x); print y; }
quale è "qualchefunzione()" che mi restituisca "abc"?


edit: sarebbe ancora meglio una funzione che nell'espressione [0-9]([a-z]+)[0-9] mi restituisca abc (al momento egrep restituirebbe 3abc4)
My packages&files searcher: http://slakfinder.org | My repository for slackware64-current: http://www.z01.eu/repo-slack
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 3778
Iscritto il: ven giu 02, 2006 14:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: slack-current
Distribuzione: 01000000-current

Re: egrep -o in awk

Messaggioda targzeta » gio ott 11, 2012 1:30

Non so se è quello che cerchi
Codice: Seleziona tutto
echo 123abc456 | awk '{ print gensub(/[^a-z]+([a-z]+).*/, "\\1", "") }'
abc

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 5914
Iscritto il: gio nov 03, 2005 15:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

[RISOLTO] Re: egrep -o in awk

Messaggioda ZeroUno » gio ott 11, 2012 8:31

ah, mi sa che io ci avevo messo un solo \
grazie
My packages&files searcher: http://slakfinder.org | My repository for slackware64-current: http://www.z01.eu/repo-slack
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 3778
Iscritto il: ven giu 02, 2006 14:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: slack-current
Distribuzione: 01000000-current


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti