Successivo: Cygwin, Precedente: Compilazione su PC, Su: Installazione su PC [Contenuti][Indice]
gawk
su sistemi operativi PCSotto MS-Windows, gli ambienti Cygwin e MinGW consentono di usare sia l’operatore ‘|&’ che le operazioni su rete TCP/IP (vedi Reti TCP/IP).
Le versioni MS-Windows di gawk
ricercano i file di
programma come descritto in AWKPATH (Variabile). Comunque, gli elementi
della variabile AWKPATH
sono separati tra di loro da un punto e virgola
(anziché da due punti (:
)).
Se AWKPATH
è non impostata o ha per valore la stringa nulla, il percorso
di ricerca di default è ‘.;c:/lib/awk;c:/gnu/lib/awk’.
Sotto MS-Windows,
gawk
(come molti altri programmi di trattamento testi) converte
automaticamente la stringa di fine riga ‘\r\n’ in ‘\n’ leggendo dall’input
e ‘\n’ in ‘\r\n’ scrivendo sull’output.
La variabile speciale BINMODE
(e.c.) permette di controllare
come avvengono queste conversioni, ed è interpretata come segue:
BINMODE
è "r"
o uno,
la modalità binaria è impostata
in lettura (cioè, nessuna conversione in lettura).
BINMODE
è "w"
o due,
la modalità binaria è impostata
in scrittura (cioè, nessuna conversione in scrittura).
BINMODE
è "rw"
o "wr"
o tre,
la modalità binaria è impostata sia in lettura che in scrittura.
BINMODE=stringa-non-nulla
equivale a specificare
‘BINMODE=3’ (cioè, nessuna conversione in
lettura e scrittura). Tuttavia, gawk
emette un messaggio di
avviso se la stringa non è "rw"
o "wr"
.
La modalità di trattamento dello standard input e standard output sono
impostate una volta sola
(dopo aver letto la riga di comando, ma prima di iniziare a elaborare
qualsiasi programma awk
).
L’impostazione di BINMODE
per standard input o
standard output va fatta usando
un’appropriata opzione ‘-v BINMODE=N’ sulla riga di comando.
BINMODE
è impostato nel momento in cui un file o pipe è aperto
e non può essere cambiato in corso di elaborazione.
Il nome BINMODE
è stato scelto in analogia con mawk
(vedi Altre versioni).
mawk
e gawk
gestiscono BINMODE
in maniera simile;
tuttavia, mawk
prevede un’opzione ‘-W BINMODE=N’ e una
variabile d’ambiente che può impostare BINMODE
, RS
, e ORS
.
I file binmode[1-3].awk (nella directory gnu/lib/awk in alcune
delle distribuzioni binarie già predisposte) sono stati inclusi per rendere
disponibile l’opzione di mawk
‘-W BINMODE=N’. Questi
possono essere modificati o ignorati; in particolare, quale sia l’impostazione
di RS
che dà meno “sorprese” rimane una questione aperta.
mawk
usa ‘RS = "\r\n"’ se si imposta la modalità binaria in
lettura, il che è appropriato per file che abbiano i caratteri di fine riga in
stile MS-DOS.
Per chiarire, gli esempi seguenti impostano la modalità binaria in
scrittura per lo standard output e altri file, e impostano ORS
in modo
da ottenere la fine riga “normale” in stile MS-DOS:
gawk -v BINMODE=2 -v ORS="\r\n" …
o:
gawk -v BINMODE=w -f binmode2.awk …
Questi comandi danno lo stesso risultato dell’opzione
‘-W BINMODE=2’ in mawk
.
Quanto segue modifica il separatore di record a "\r\n"
e imposta
la modalità binaria in lettura, senza modificare le letture da standard input:
gawk -v RS="\r\n" -e "BEGIN { BINMODE = 1 }" …
o:
gawk -f binmode1.awk …
Usando i caratteri di protezione appropriati, nel primo
esempio l’impostazione di RS
può essere spostata in una regola
BEGIN
.
Successivo: Cygwin, Precedente: Compilazione su PC, Su: Installazione su PC [Contenuti][Indice]