Successivo: Estensioni comuni, Precedente: POSIX/GNU, Su: Storia del linguaggio [Contenuti][Indice]
gawk
Questa
sezione descrive le funzionalità in gawk
in aggiunta a quelle di POSIX awk
,
nell’ordine in cui sono state rese disponibili in gawk
.
La versione 2.10 di gawk
ha introdotto le seguenti funzionalità:
AWKPATH
per specificare un percorso di ricerca
per l’opzione -f della riga di comando
(vedi Opzioni)
IGNORECASE
e i suoi effetti
(vedi Maiuscolo-Minuscolo).
La versione 2.13 di gawk
ha ha introdotto le seguenti funzionalità:
FIELDWIDTHS
e i suoi effetti
(vedi Dimensione costante).
systime()
e strftime()
per ottenere
e stampare data e ora
(vedi Funzioni di tempo).
La versione 2.14 di gawk
ha introdotto le seguenti funzionalità:
next file
per passare immediatamente al successivo
file-dati (vedi Istruzione nextfile).
La versione 2.15 di gawk
ha introdotto le seguenti funzionalità:
ARGIND
, che permette di controllare la posizione di FILENAME
nel vettore ARGV
.
ERRNO
, che contiene il messaggio di errore del sistema quando
getline
restituisce -1 o close()
non termina con successo.
La versione 3.0 di gawk
ha introdotto le seguenti funzionalità:
IGNORECASE
modificato, diventa applicabile al confronto tra stringhe,
come pure alle operazioni su regexp
(vedi Maiuscolo-Minuscolo).
RT
, che contiene il testo in input che è stato individuato da RS
(vedi Record).
gensub()
per migliorare la manipolazione di testi
(vedi Funzioni per stringhe).
strftime()
prevede un formato di data e ora di default,
in modo da poter essere chiamata senza alcun argomento.
(vedi Funzioni di tempo).
FS
e il terzo argomento della funzione
split()
siano delle stringhe nulle
(vedi Campi di un solo carattere).
RS
sia una regexp
(vedi Record).
next file
è diventata nextfile
(vedi Istruzione nextfile).
fflush()
di
BWK awk
(BWK allora lavorava ai Bell Laboratories;
vedi Funzioni di I/O).
awk
per Unix Version 7
(vedi V7/SVR3.1).
awk
. (Brian lavorava
ancora ai Bell Laboratories all’epoca.) Quest’opzione è stata in seguito
rimossa, sia dal suo awk
che da gawk
.
La versione 3.1 di gawk
ha introdotto le seguenti funzionalità:
BINMODE
, per sistemi non aderenti allo standard POSIX,
che consente I/O binario per file in input e/o output
(vedi Uso su PC).
LINT
, che controlla dinamicamente gli avvertimenti emessi da lint.
PROCINFO
, un vettore che fornisce informazioni correlate con il
processo in esecuzione.
TEXTDOMAIN
, per impostare il dominio testuale in cui internazionalizzare
un’applicazione (vedi Internazionalizzazione).
awk
.
(vedi Numeri non-decimali).
close()
per permettere di
chiudere uno dei lati di una pipe bidirezionale aperta con un coprocesso
(vedi I/O bidirezionale).
match()
per
avere a disposizione le diverse sottoespressioni individuate all’interno
di una regexp
(vedi Funzioni per stringhe).
printf
per
facilitare la traduzione di messaggi
(vedi Ordinamento di printf).
asort()
e asorti()
per l’ordinamento di vettori
(vedi Ordinamento di vettori).
bindtextdomain()
, dcgettext()
e dcngettext()
per l’internationalizzazione
(vedi I18N per programmatore).
extension()
e la possibilità di aggiungere
nuove funzioni predefinite dinamicamente
(vedi Estensioni dinamiche).
mktime()
per generare date e ore
(vedi Funzioni di tempo).
and()
, or()
, xor()
, compl()
,
lshift()
, rshift()
e strtonum()
(vedi Funzioni a livello di bit).
pgawk
, la
versione profilatrice di gawk
, per produrre profili di esecuzione
di programmi awk
(vedi Profilare).
gawk
di usare il carattere di separazione decimale proprio della localizzazione
nell’elaborazione dei dati in input
(vedi Conversione).
gettext
per i messaggi emessi da gawk
(vedi Gawk internazionalizzato).
sub()
e gsub()
(vedi Dettagli ostici).
length()
è stata estesa per accettare un vettore come
argomento, e restituire in tal caso il numero di elementi nel vettore
(vedi Funzioni per stringhe).
strftime()
accetta un terzo argomento per
dare la possibilità di stampare data e ora nel formato UTC
(vedi Funzioni di tempo).
La versione 4.0 di gawk
ha introdotto le seguenti funzionalità:
FPAT
, che permette di specificare una regexp che individua
i campi, invece che individuare il separatore tra i campi
(vedi Separazione in base al contenuto).
PROCINFO["sorted_in"]
, il ciclo
‘for(indice in pippo)’ ordina
gli indici, prima di iniziare il ciclo. Il valore di questo elemento
permette di controllare l’ordinamento degli indici prima di iniziare il
ciclo che li visita tutti
(vedi Controllare visita).
PROCINFO["strftime"]
, che contiene la stringa di formato
di default per strftime()
(vedi Funzioni di tempo).
break
e continue
non sono più consentiti fuori da un ciclo,
anche se si è specificata l’opzione --traditional
(vedi Istruzione break e anche la
Istruzione continue).
fflush()
, nextfile
e ‘delete array’
sono consentite anche se è stata specificata l’opzione --posix o
--traditional, poiché questi costrutti sono ora inclusi
nello standard POSIX.
asort()
e asorti()
permette di specificare il tipo di ordinamento desiderato
(vedi Funzioni per stringhe).
fflush()
è stato modificato per corrispondere
a quello di BWK awk
e per lo standard POSIX; ora sia ‘fflush()’ che ‘fflush("")’
forzano la scrittura di tutte le ridirezioni in output aperte
(vedi Funzioni di I/O).
isarray()
determina se un elemento è un vettore oppure no
per rendere possibile la visita di vettori di vettori
(vedi Funzioni per i tipi).
patsplit()
che
fornisce le stesse funzionalità di FPAT
, per suddividere delle stringhe
(vedi Funzioni per stringhe).
split()
,
che indica un vettore destinato a contenere i valori dei separatori
(vedi Funzioni per stringhe).
BEGINFILE
ed ENDFILE
(vedi BEGINFILE/ENDFILE).
switch
/ case
sono disponibili per default
(vedi Istruzione switch).
gawk
tratti l’input come composto da una
stringa di caratteri multibyte.
gawk
è stato riscritto, aggiungendo la
versione per il debug dgawk
,
con un possibile miglioramento nei tempi di esecuzione
(vedi Debugger).
strcoll()
/ wcscoll()
(vedi Confronto POSIX di stringhe).
La versione 4.1 di gawk
ha introdotto le seguenti funzionalità:
SYMTAB
, FUNCTAB
e PROCINFO["identifiers"]
(vedi Variabili auto-assegnate).
gawk
, pgawk
e dgawk
,
sono diventati uno solo, con il solo nome gawk
. Di conseguenza
le opzioni sulla riga di comando sono state modificate.
awk
.
and()
, or()
e xor()
sono state modificate
per ammettere un numero qualsiasi di argomenti, con un minimo di due
(vedi Funzioni a livello di bit).
getline
ridiretta è stata resa possibile all’interno di
BEGINFILE
ed ENDFILE
(vedi BEGINFILE/ENDFILE).
where
è stato aggiunto al debugger
(vedi Stack di esecuzione).
La versione 4.2 ha introdotto le seguenti funzionalità:
ENVIRON
) sono riflesse in quelle
rese disponibili a gawk
e in quelle di programmi che siano da esso richiamati.
Vedi Variabili auto-assegnate.
awk
.
Vedi Opzioni.
igawk
e le relative pagine di manuale non sono
più installati come parte dell’installazione di gawk
.
Vedi Programma igawk.
intdiv()
.
Vedi Funzioni numeriche.
print
e printf
non terminano il programma dopo alcuni
errori di output.
Vedi Continuazione dopo errori.
gawk
se si specifica l’opzione --posix. Dal 2013
il comportamento originario è stato ripristinato, e ora
il default per separare i campi con l’opzione --posix ammette
anche il ritorno a capo come separatore di campi.
Successivo: Estensioni comuni, Precedente: POSIX/GNU, Su: Storia del linguaggio [Contenuti][Indice]