egrep -o in awk

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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 della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 4866
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

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)
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6357
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

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
Linux Registered User #454438
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
ZeroUno
Staff
Staff
Messaggi: 4866
Iscritto il: ven giu 02, 2006 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

[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
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite