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 la sezione Opzioni sulla riga di comando)
IGNORECASE
e i suoi effetti
(vedi la sezione Fare confronti ignorando maiuscolo/minuscolo).
gawk
)
La versione 2.13 di gawk
ha ha introdotto le seguenti funzionalità:
FIELDWIDTHS
e i suoi effetti
(vedi la sezione Leggere campi di larghezza costante).
systime()
e strftime()
per ottenere
e stampare data e ora
(vedi la sezione Funzioni per gestire marcature temporali).
La versione 2.14 di gawk
ha introdotto le seguenti funzionalità:
next file
per passare immediatamente al successivo
file-dati (vedi la sezione L’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.
delete
).
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 la sezione Fare confronti ignorando maiuscolo/minuscolo).
RT
, che contiene il testo in input che è stato individuato da RS
(vedi la sezione Controllare come i dati sono suddivisi in record).
gensub()
per migliorare la manipolazione di testi
(vedi la sezione Funzioni di manipolazione di stringhe).
strftime()
prevede un formato di data e ora di default,
in modo da poter essere chiamata senza alcun argomento.
(vedi la sezione Funzioni per gestire marcature temporali).
FS
e il terzo argomento della funzione
split()
siano delle stringhe nulle
(vedi la sezione Fare di ogni carattere un campo separato).
RS
sia una regexp
(vedi la sezione Controllare come i dati sono suddivisi in record).
next file
è diventata nextfile
(vedi la sezione L’istruzione nextfile
).
fflush()
di
BWK awk
(BWK allora lavorava ai Bell Laboratories;
vedi la sezione Funzioni di Input/Output).
awk
per Unix Version 7
(vedi la sezione Differenze importanti tra V7 e System V Release 3.1).
awk
. (Brian lavorava
ancora ai Bell Laboratories all’epoca.) Quest’opzione è stata in seguito
rimossa, sia dal suo awk
che da gawk
.
gawk
per sistemi di tipo Unix).
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 la sezione Usare gawk
su sistemi operativi 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 la sezione Internazionalizzazione con gawk
).
awk
.
(vedi la sezione Numeri ottali ed esadecimali).
gawk
per la programmazione di rete).
close()
per permettere di
chiudere uno dei lati di una pipe bidirezionale aperta con un coprocesso
(vedi la sezione Comunicazioni bidirezionali con un altro processo).
match()
per
avere a disposizione le diverse sottoespressioni individuate all’interno
di una regexp
(vedi la sezione Funzioni di manipolazione di stringhe).
printf
per
facilitare la traduzione di messaggi
(vedi la sezione Riordinare argomenti di printf
).
asort()
e asorti()
per l’ordinamento di vettori
(vedi la sezione Controllare la visita di un vettore e il suo ordinamento).
bindtextdomain()
, dcgettext()
e dcngettext()
per l’internationalizzazione
(vedi la sezione Internazionalizzare programmi awk
).
extension()
e la possibilità di aggiungere
nuove funzioni predefinite dinamicamente
(vedi la sezione Scrivere estensioni per gawk
).
mktime()
per generare date e ore
(vedi la sezione Funzioni per gestire marcature temporali).
and()
, or()
, xor()
, compl()
,
lshift()
, rshift()
e strtonum()
(vedi la sezione Funzioni per operazioni di manipolazione bit).
nextfile
).
pgawk
, la
versione profilatrice di gawk
, per produrre profili di esecuzione
di programmi awk
(vedi la sezione Profilare i propri programmi awk
).
gawk
di usare il carattere di separazione decimale proprio della localizzazione
nell’elaborazione dei dati in input
(vedi la sezione Conversione di stringhe e numeri).
gawk
per sistemi di tipo Unix).
gettext
per i messaggi emessi da gawk
(vedi la sezione gawk
stesso è internazionalizzato).
sub()
e gsub()
(vedi la sezione Ulteriori dettagli su ‘\’ e ‘&’ con sub()
, gsub()
e gensub()
).
length()
è stata estesa per accettare un vettore come
argomento, e restituire in tal caso il numero di elementi nel vettore
(vedi la sezione Funzioni di manipolazione di stringhe).
strftime()
accetta un terzo argomento per
dare la possibilità di stampare data e ora nel formato UTC
(vedi la sezione Funzioni per gestire marcature temporali).
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 la sezione Definire i campi 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 la sezione Visita di vettori in ordine predefinito con gawk
).
PROCINFO["strftime"]
, che contiene la stringa di formato
di default per strftime()
(vedi la sezione Funzioni per gestire marcature temporali).
gawk
per la programmazione di rete).
gawk
).
break
e continue
non sono più consentiti fuori da un ciclo,
anche se si è specificata l’opzione --traditional
(vedi la sezione L’istruzione break
e anche la
L’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 la sezione Funzioni di manipolazione di 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 la sezione Funzioni di Input/Output).
isarray()
determina se un elemento è un vettore oppure no
per rendere possibile la visita di vettori di vettori
(vedi la sezione Funzioni per conoscere il tipo di una variabile).
patsplit()
che
fornisce le stesse funzionalità di FPAT
, per suddividere delle stringhe
(vedi la sezione Funzioni di manipolazione di stringhe).
split()
,
che indica un vettore destinato a contenere i valori dei separatori
(vedi la sezione Funzioni di manipolazione di stringhe).
BEGINFILE
ed ENDFILE
(vedi la sezione I criteri di ricerca speciali BEGINFILE
ed ENDFILE
).
switch
/ case
sono disponibili per default
(vedi la sezione L’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 la sezione Effettuare il debug dei programmi awk
).
strcoll()
/ wcscoll()
(vedi la sezione Confronto tra stringhe usando l’ordine di collazione locale).
gawk
per la programmazione di rete).
La versione 4.1 di gawk
ha introdotto le seguenti funzionalità:
SYMTAB
, FUNCTAB
e PROCINFO["identifiers"]
(vedi la sezione Variabili predefinite con cui awk
fornisce informazioni).
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
.
gawk
).
and()
, or()
e xor()
sono state modificate
per ammettere un numero qualsiasi di argomenti, con un minimo di due
(vedi la sezione Funzioni per operazioni di manipolazione bit).
gawk
).
getline
ridiretta è stata resa possibile all’interno di
BEGINFILE
ed ENDFILE
(vedi la sezione I criteri di ricerca speciali BEGINFILE
ed ENDFILE
).
where
è stato aggiunto al debugger
(vedi la sezione Lavorare con lo stack).
La versione 4.2 di gawk
ha introdotto le seguenti modifiche:
ENVIRON
) sono
riflesse in quelle rese disponibili a gawk
e in quelle di
programmi che siano da esso richiamati.
Vedi la sezione Variabili predefinite con cui awk
fornisce informazioni.
FIELDWIDTHS
è stato migliorato per consentire di saltare dei
caratteri prima di assegnare il valore di un campo
(vedi la sezione Definire i campi in base al contenuto).
PROCINFO["argv"]
.
Vedi la sezione Variabili predefinite con cui awk
fornisce informazioni.
mktime()
ora accetta un secondo argomento opzionale
(vedi la sezione Funzioni per gestire marcature temporali).
typeof()
(vedi la sezione Funzioni per conoscere il tipo di una variabile).
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.
print
e printf
.
Vedi la sezione Abilitare continuazione dopo errori in output.
PROCINFO[input-file, "RETRY"]
;
(vedi la sezione Elaborare ulteriore input dopo certi errori di I/O).
awk
):
awk
come in precedenza.
gawk
):
get_file()
è in grado di accedere
a ridirezioni in fase di open.
nonfatal()
per generare messaggi di errore non fatali
(che non provocano la fine del programma).
igawk
e la relativa pagina di manuale non
sono più installati quando si compila gawk
[il programma
non è più necessario].
Vedi la sezione Una maniera facile per usare funzioni di libreria.
La versione 5.0 ha aggiunto le seguenti funzionalità:
PROCINFO["platform"]
, che permette di
scrivere del codice che tiene conto di piattaforma / sistema operativo.
La versione 5.1 è stata creata per distribuire gawk
con
un nuovo numero di versione maggiore per l’API. Sfortunatamente questo
dettaglio era stato dimenticato al momento in cui era stata preparata la
versione 5.0. Sono state aggiunte le seguenti funzionalità:
Successivo: Estensioni comuni, Precedente: POSIX/GNU, Su: Storia del linguaggio [Contenuti][Indice]