[PLUTO-help] script in awk!!!
Vittorio Barulli
barulli a gemrad.com
Lun 18 Ott 2004 10:55:18 CEST
questa è una lista delle funzioni che puoi usare su $0 (se non mi
ricordo male è l'insieme di tutta la riga di input, quindi $1
concatenata con $2... etc)
gensub(r, s, h [, t]) cerca nella stringa obiettivo t
corrispondenze con la regular expression r. Se
h è una stringa che inizia con g o G,
tutte le corrispondenze con r sono sosti-
tuite con s; altrimenti, h è un numero
che indica la particolare corrispondenza
con r che si vuole sostituire. Se t non
è specificata, è usato $0 al suo posto.
All'interno del testo di rimpiazzo s si
può utilizzare la sequenza \n, dove n è
una cifra tra 1 e 9, per indicare la
parte di testo che corrisponde all'n-esima
sottoespressione tra parentesi. La
sequenza \0 rappresenta il testo ricoperto
dall'intera espressione, e così pure
il carattere &. A differenza di sub() e
gsub(), la stringa modificata è data come
risulatato della funzione; l'originale
resta inalterata.
gsub(r, s [, t]) per ogni sottostringa conforme alla
regular expression r nella stringa t, sosti-
tuisce la stringa s, e restituisce il
numero di sostituzioni. Se t non è speci-
ficata, usa $0. Una & nel testo di
rimpiazzo è sostituita dal testo trovato
conforme con la regular expression. Si
usi \& per indicare il carattere &
inteso letteralmente. Si veda AWK
Language Programming per una più ampia dis-
cussione circa le regole che riguardano &
e i "backslash" nel testo di rimpiazzo
di sub(), gsub(), e gensub().
index(s, t) trova l'indice posizionale della stringa
t nella stringa s, o 0 se t non è pre-
sente.
length([s]) la lunghezza della stringa s, oppure la
lunghezza di $0 se s non è specificata.
match(s, r) trova la posizione in s del tratto che
si conforma alla regular expression r,
oppure 0 se non ci sono conformtà. I
valori di RSTART ed RLENGTH sono modificati
di conseguenza.
split(s, a [, r]) spezza la stringa s nel vettore a
utilizzando il metodo di separazione descritto
dalla regular expression r, e restituisce
il numero di campi. Se r è omessa, il
separatore utilizzato è FS. Il
precedente contenuto del vettore a è cancellato.
La divisione di una stringa in parti e
l'isolamento dei campi nei record,
descritto prima, sono compiuti
esattamente allo stesso modo.
sprintf(fmt, expr-list) stampa (in modo fittizio) expr-list
secondo il formato fmt, e restituisce la
stringa risultante.
sub(r, s [, t]) come gsub(), ma è sostituita solo la
prima sottostringa trovata.
substr(s, i [, n]) restituisce la sottostringa di s di n
caratteri alpiù che inizia nella posizione
i. Se n è omesso, è usato il resto di s.
More information about the pluto-help
mailing list