PM-GAWK(1) Comandi di utilità PM-GAWK(1)
NOME
gawk con memoria persistente - dati e funzioni persistenti
SINTASSI
truncate -s dimensione deposito.pma
export GAWK_PERSIST_FILE=deposito.pma
gawk ...
truncate -s dimensione deposito.pma
GAWK_PERSIST_FILE=deposito.pma gawk ...
truncate -s dimensione deposito.pma
alias pm='GAWK_PERSIST_FILE=deposito.pma'
pm gawk ... # forma concisa
unset GAWK_PERSIST_FILE # disabilitare persistenza
export GAWK_PERSIST_FILE=altro_deposito.pma # modificare deposito
rm deposito.pma # cancellare deposito
DESCRIZIONE
Gawk a partire dalla versione 5.2 supporta la funzionalità "memoria persistente", che permette di immagazzinare
in un file variabili e funzioni definite in uno script Gawk per essere utilizzate in successive esecuzioni di
Gawk . La funzionalità, chiamata pm-gawk, è descritta in GAWK: Programmare efficacemente in AWK e in Manuale
utente funzionalità Memoria Persistente in gawk.
pm-gawk è attivato passando a gawk il nome di un file-deposito, inizialmente vuoto (tutto a zeri binari) attra‐
verso la variabile di ambiente GAWK_PERSIST_FILE. pm-gawk conserva in tale file-deposito le variabili e le fun‐
zioni definite in uno script Gawk per utilizzo in successive esecuzioni di gawk.
pm-gawk offre almeno due vantaggi, rispetto all'esistente estensione rwarray: offre accesso permanente (‘‘O(1)
time'') a singoli elementi di vettori associativi persistenti, e può immagazzinare funzioni definite in uno
script gawk oltre alle variabili di cui sopra.
ESEMPI
Dimostrazione della persistenza di variabili:
$ truncate -s 1G deposito.pma # creazione file-deposito
$ export GAWK_PERSIST_FILE=deposito.pma # definizione variabile d'ambiente
$ gawk 'BEGIN{ print ++i }'
1
$ gawk 'BEGIN{ print ++i }'
2
$ gawk 'BEGIN{ print ++i }'
3
Per passare la variabile d'ambiente a livello di singolo comando:
$ unset GAWK_PERSIST_FILE
$ GAWK_PERSIST_FILE=deposito.pma gawk 'BEGIN{ print ++i }'
4
$ GAWK_PERSIST_FILE=deposito.pma gawk 'BEGIN{ print ++i }'
5
$ GAWK_PERSIST_FILE=deposito.pma gawk 'BEGIN{ print ++i }'
6
Per ridurre l'ingombro legato al passare la variabile d'ambiente a livello di ogni singolo comando si può
definire un alias:
$ alias pm='GAWK_PERSIST_FILE=deposito.pma'
$ pm gawk 'BEGIN{ print ++i }'
7
$ pm gawk 'BEGIN{ print ++i }'
8
Per evitare di attivare la persistenza:
$ unset GAWK_PERSIST_FILE
$ gawk 'BEGIN{ print ++i }'
1
$ gawk 'BEGIN{ print ++i }'
1
Per ‘‘dimenticare'' definitivamente i contenuti del file-deposito:
$ rm deposito.pma
VARIABILI D'AMBIENTE
GAWK_PERSIST_FILE contiene il nome di un file-deposito dove sono immagazzinate le variabili e le funzioni defi‐
nite in uno script. Se tale variabile d'ambiente non è visibile a gawk, la funzionalità "memoria persistente"
non è attivata e gawk si comporta in maniera tradizionale.
INFORMAZIONE SULLA VERSIONE
La funzionalità "memoria persistente" gawk è stata resa disponibile nella versione gawk 5.2.
AUTORI
Arnold Robbins, il manutentore di gawk, ha implementato pm-gawk usando un allocatore di memoria persistente (Per‐
sistent Memory Allocator - pma) fornito da Terence Kelly. Una versione precedente, prototipica, di gawk con
memoria persistente è stata sviluppata da Haris Volos, Zi Fan Tan e Jianan Li a partire da una diramazione della
distribuzione sorgente di gawk .
SEGNALAZIONE DI ERRORI
Seguire le procedure descritte in GAWK: Programmare efficacemente in AWK e in Manuale utente funzionalità Memoria
Persistente in gawk. Se si ritiene che gli errori siano legati alla "memoria persistente" (e non ad altri errori
gawk non correlati alla "memoria persistente") siete pregati di spedire un messaggio e-mail a Terence Kelly a uno
o più dei seguenti indirizzi: tpkelly@acm.org, tpkelly@eecs.umich.edu, o tpkelly@cs.princeton.edu.
VEDERE ANCHE
gawk(1), GAWK: Programmare efficacemente in AWK, e Manuale utente funzionalità Memoria Persistente in gawk. I
due manuali dovrebbero essere disponibili in formato Info, se il comando Info è installato nel vostro sistema.
Vedere https://web.eecs.umich.edu/~tpkelly/pma/ per l'ultima versione del codice sorgente e del manuale.
PERMESSI DI COPIA
Copyright © 2022 Terence Kelly.
È permesso stampare e distribuire copie letterali di questa pagina di manuale, a patto che il copyright e questa
nota di autorizzazione siano conservate e presenti in ogni copia.
È permesso copiare e distribuire versioni modificate di questa pagina del manuale, sotto le condizioni poste per
la copia letterale, a patto che l'intero lavoro derivato sia distribuito secondo permessi di stampa identici a
questi.
È permesso copiare e distribuire traduzioni di questa pagina di manuale in un'altra lingua, sotto le condizioni
poste sopra per le versioni modificate, salvo che quest'informazione sui permessi di copia e ristampa deve essere
espressa in una traduzione approvata dalla Free Software Foundation.
Free Software Foundation 14 agosto 2022 PM-GAWK(1)
NOME
gawk con memoria persistente - dati e funzioni persistenti
SINTASSI
truncate -s dimensione deposito.pma
export GAWK_PERSIST_FILE=deposito.pma
gawk ...
truncate -s dimensione deposito.pma
GAWK_PERSIST_FILE=deposito.pma gawk ...
truncate -s dimensione deposito.pma
alias pm='GAWK_PERSIST_FILE=deposito.pma'
pm gawk ... # forma concisa
unset GAWK_PERSIST_FILE # disabilitare persistenza
export GAWK_PERSIST_FILE=altro_deposito.pma # modificare deposito
rm deposito.pma # cancellare deposito
DESCRIZIONE
Gawk a partire dalla versione 5.2 supporta la funzionalità "memoria persistente", che permette di immagazzinare
in un file variabili e funzioni definite in uno script Gawk per essere utilizzate in successive esecuzioni di
Gawk . La funzionalità, chiamata pm-gawk, è descritta in GAWK: Programmare efficacemente in AWK e in Manuale
utente funzionalità Memoria Persistente in gawk.
pm-gawk è attivato passando a gawk il nome di un file-deposito, inizialmente vuoto (tutto a zeri binari) attra‐
verso la variabile di ambiente GAWK_PERSIST_FILE. pm-gawk conserva in tale file-deposito le variabili e le fun‐
zioni definite in uno script Gawk per utilizzo in successive esecuzioni di gawk.
pm-gawk offre almeno due vantaggi, rispetto all'esistente estensione rwarray: offre accesso permanente (‘‘O(1)
time'') a singoli elementi di vettori associativi persistenti, e può immagazzinare funzioni definite in uno
script gawk oltre alle variabili di cui sopra.
ESEMPI
Dimostrazione della persistenza di variabili:
$ truncate -s 1G deposito.pma # creazione file-deposito
$ export GAWK_PERSIST_FILE=deposito.pma # definizione variabile d'ambiente
$ gawk 'BEGIN{ print ++i }'
1
$ gawk 'BEGIN{ print ++i }'
2
$ gawk 'BEGIN{ print ++i }'
3
Per passare la variabile d'ambiente a livello di singolo comando:
$ unset GAWK_PERSIST_FILE
$ GAWK_PERSIST_FILE=deposito.pma gawk 'BEGIN{ print ++i }'
4
$ GAWK_PERSIST_FILE=deposito.pma gawk 'BEGIN{ print ++i }'
5
$ GAWK_PERSIST_FILE=deposito.pma gawk 'BEGIN{ print ++i }'
6
Per ridurre l'ingombro legato al passare la variabile d'ambiente a livello di ogni singolo comando si può
definire un alias:
$ alias pm='GAWK_PERSIST_FILE=deposito.pma'
$ pm gawk 'BEGIN{ print ++i }'
7
$ pm gawk 'BEGIN{ print ++i }'
8
Per evitare di attivare la persistenza:
$ unset GAWK_PERSIST_FILE
$ gawk 'BEGIN{ print ++i }'
1
$ gawk 'BEGIN{ print ++i }'
1
Per ‘‘dimenticare'' definitivamente i contenuti del file-deposito:
$ rm deposito.pma
VARIABILI D'AMBIENTE
GAWK_PERSIST_FILE contiene il nome di un file-deposito dove sono immagazzinate le variabili e le funzioni defi‐
nite in uno script. Se tale variabile d'ambiente non è visibile a gawk, la funzionalità "memoria persistente"
non è attivata e gawk si comporta in maniera tradizionale.
INFORMAZIONE SULLA VERSIONE
La funzionalità "memoria persistente" gawk è stata resa disponibile nella versione gawk 5.2.
AUTORI
Arnold Robbins, il manutentore di gawk, ha implementato pm-gawk usando un allocatore di memoria persistente (Per‐
sistent Memory Allocator - pma) fornito da Terence Kelly. Una versione precedente, prototipica, di gawk con
memoria persistente è stata sviluppata da Haris Volos, Zi Fan Tan e Jianan Li a partire da una diramazione della
distribuzione sorgente di gawk .
SEGNALAZIONE DI ERRORI
Seguire le procedure descritte in GAWK: Programmare efficacemente in AWK e in Manuale utente funzionalità Memoria
Persistente in gawk. Se si ritiene che gli errori siano legati alla "memoria persistente" (e non ad altri errori
gawk non correlati alla "memoria persistente") siete pregati di spedire un messaggio e-mail a Terence Kelly a uno
o più dei seguenti indirizzi: tpkelly@acm.org, tpkelly@eecs.umich.edu, o tpkelly@cs.princeton.edu.
VEDERE ANCHE
gawk(1), GAWK: Programmare efficacemente in AWK, e Manuale utente funzionalità Memoria Persistente in gawk. I
due manuali dovrebbero essere disponibili in formato Info, se il comando Info è installato nel vostro sistema.
Vedere https://web.eecs.umich.edu/~tpkelly/pma/ per l'ultima versione del codice sorgente e del manuale.
PERMESSI DI COPIA
Copyright © 2022 Terence Kelly.
È permesso stampare e distribuire copie letterali di questa pagina di manuale, a patto che il copyright e questa
nota di autorizzazione siano conservate e presenti in ogni copia.
È permesso copiare e distribuire versioni modificate di questa pagina del manuale, sotto le condizioni poste per
la copia letterale, a patto che l'intero lavoro derivato sia distribuito secondo permessi di stampa identici a
questi.
È permesso copiare e distribuire traduzioni di questa pagina di manuale in un'altra lingua, sotto le condizioni
poste sopra per le versioni modificate, salvo che quest'informazione sui permessi di copia e ristampa deve essere
espressa in una traduzione approvata dalla Free Software Foundation.
Free Software Foundation 14 agosto 2022 PM-GAWK(1)