AWK e grep – qualche precisazione

fermat

La raccolta di script AWK pare sia piaciuta. Forse continua, ho ancora materiale, prossimamente… forse…

Ma subito una risposta veloce per un caso trattato superficialmente, questo:

Scrive solo le righe con una regex specificata
awk '/questo/'

OK, ammetto che sono stato troppo superficiale. Integro ma mi riservo una nota finale.

Userò per gli esempi il file txt, questo

uno
due
questo e quello
questa
questo
quella
quello
(5)
otto
ot to
ottantotto

Ed ecco:

s-re1

In alternativa si può usare grep

s-re2

Simili, come si vede, con grep si omettono gli /, la regex trovata viene colorata per via dell’alias

alias grep='grep --color=auto'

grep ha inoltre l’opzione -i per cercare ignorando la differenza tra maiuscole e minuscole, cosa che con AWK (vedi post linkato) è più macchinosa.

Apici o virgolette possono essere omessi in casi normali

s-re3

ma ci sono eccezioni:

s-re4

In alternativa è possibile escapare le parentesi con \ che trasforma il carattere seguente da speciale a normale (letterale).

s-re5

Tranne casi particolari (mai dire mai) mi sembra meno intuitivo.

Resta un grosso argomento da affrontare: le espressioni regolari, regexs o RE. Su di loro sono stati scritti volumi, versati barili d’inchiostro. E io faccio spesso qualche tentativo prima di ottenere quello che voglio.

Nella pagina di raccolta di manuali su questo blog trovate almeno un link minaccioso (dovrei aggiornarla), qui.

In generale mi sembra che questo caso sia meglio usare grep, ma chissà…
Un esempio vero, mio. Per compilare le telenovelas “Visto nel Web” e “cit. & loll” devo indicare l’URL della pagina linkata. Ogni URL è poi collegato a un sito; per sapere se l’ho già memorizzato uso questo script:

s-re6

Infine, tornando ai posts su AWK: sono un punto di partenza …

Aggiornamento
Ho aggiunto 2 tutorials e un quick reference per le espressioni regolari sulla pagina dei manuali. Altro materiale è disponibile online ma non so quanto regolare (inteso come rispettoso dei diriti degli autori).

:mrgreen:

Posta un commento o usa questo indirizzo per il trackback.

Trackback

  • AWK, grep e oltre: ack | Ok, panico su 19 settembre 2016 alle 15:58

    […] da qui la serie di post su AWK. Cioè dovrei ma oggi esco leggermente fuori tema e parlo di ack di cui […]

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: