Espressioni regolari
/tra slesh/
variabile ~ espressioneregolare è vero se l'espressione regolare matcha la variabile
\ carattere di escape
^ matcha l'inizio
$ matcha la fine
. un singolo carattere
[ ] uno qualunque (una volta) dei caratteri contenuti tra le []
[^] tutto tranne quelli contenuti
| or
* un numero qualunque di volte
+ una o più volte
? zero o una volta
{n,m} un numero di volte compreso tra n e m
Input
RS separatore di riga
FS separatore di campo
NF numero campi della riga
NR numero righe lette
$0 tutta riga
$n il campo n
$(m*n) il risultato m*n è il nome della variabile
Getline
getline ti legge la riga successiva e li mette nelle variabile standard se < 0 significa che file è finito
getline n inserisce nella variabile n la riga successiva
getline < nomefile legge una riga per volta dal file. Alla chiamata successiva legge la riga dopo
getline n < nomefile salva la riga letta in nomefile in n
OFS separatore di campi in output
ORS separatore di linea in output
print item1, item2 stampa gli item separati da OFS e alla fine ORS
printf format item1, item2 uguale a print solo che gli passi prima il formato
print > nomefile stampa su file appendendo volta per volta tranne la prima che sovrascrive (funziona anche con printf)
Comparatori
selector ? if-true-exp : if-false-exp valuta l'espressione se è vera esegue la prima expr se no la seconda
Pattern
/expr/ espressione regolare
expr se è vera l'espressione
pat1, pat2 nel range comrpeso tra pat1 e pat2
BEGIN all'inizio
END alla fine
empty in ogni caso
next passa a trattare la riga successiva
exit termina il programma
Array
Gli array sono HashMap. Chiavi separate da virgole
index in array è vera se all'interno dell'array è presente la chiave
for (var in array) per tutti gli elementi dell'array indicizzati mette in var l'indice
delete array[index] cancella il valore in array[index]
Funzioni Build-in
int(x) parte intera
rand() un numero casuale tra 0 e 1
index(in, find) posizione della prima occorrenza di find in in
length(string) lunghezza della stringa
match(string, regexp) restituisce l'indice del primo match
split(string, array, fieldsep) splitta la string e la mette in array con il fieldsep
sub(regexp, replacement , target) sostituisce nel target la prima occorrenza che è matchato da regexp con replacement
gsub(regexp, replacement , target) come sub ma a tutti
substr(string, start , length) restituisce la sottostringa che inizia a start e finisce a start+lenght
tolower(string) ritorna una stringa tutta minuscola
toupper(string)
close(filename) chiude il file
system(command)
| < Prec. |
|---|





