Successivo: Sommario dell'installazione, Precedente: Bug, Su: Installazione [Contenuti][Indice]
awk liberamente disponibiliÈ piuttosto divertente mettere commenti simili nel vostro codice awk:
// Funzionano i commenti in stile C++? Risposta: sì! certo
Ci sono alcune altre implementazioni di awk disponibili
gratuitamente.
Questa sezione descrive in breve dove è possibile trovarle:
awkBrian Kernighan, uno degli sviluppatori originali di Unix awk,
ha reso disponibile liberamente la sua implementazione di awk.
Può essere scaricata da GitHub:
git clone git://github.com/onetrueawk/awk bwkawk
Questo comando crea una copia del deposito Git
in una directory chiamata bwkawk. Se si omette l’ultimo argomento
della riga di comando git, la copia del deposito è creata in una
directory di nome awk.
Questa versione richiede un compilatore ISO C (standard 1990); il compilatore C contenuto in GCC (la collezione di compilatori GNU) è più che sufficiente.
Per eseguire la compilazione, si rivedano le impostazioni nel file
makefile, e quindi si richiami semplicemente make.
Si noti che il risultato della compilazione ha come nome
a.out; questo file va rinominato in maniera adeguata.
Vedi la sezione Sommario Estensioni Comuni
per una lista di estensioni in questo awk che non sono in
POSIX awk.
Incidentalmente, Dan Bornstein ha creato un deposito Git che contiene tutte le
versioni di BWK awk che è riuscito a trovare. È disponibile in
git://github.com/danfuzz/one-true-awk.
mawkMichael Brennan ha scritto un’implementazione indipendente di awk,
di nome mawk. È disponibile sotto la licenza
GPL (vedi la sezione Licenza Pubblica Generale GNU (GPL)),
proprio come gawk.
Il sito di distribuzione originale di mawk non contiene più
il codice sorgente. Una copia è disponibile in
http://www.skeeve.com/gawk/mawk1.3.3.tar.gz.
Dal 2009 è Thomas Dickey a occuparsi della manutenzione di mawk.
Le informazioni di base sono disponibili nella
pagine web del progetto.
Il puntatore URL da cui scaricare è
http://invisible-island.net/datafiles/release/mawk.tar.gz.
Una volta scaricato,
per scompattare questo file può essere usato gunzip.
L’installazione è simile a quella di gawk
(vedi la sezione Compilare e installare gawk su sistemi di tipo Unix).
Vedi la sezione Sommario Estensioni Comuni
per una lista di estensioni in mawk che non sono in POSIX awk.
mawk 2.0Nel 2016, Michael Brennan ha iniziato nuovamente lo sviluppo di mawk.
Le sue versioni di sviluppo sono disponibili tramite Git dalla pagina GitHub
del progetto.
awkaScritto da Andrew Sumner,
awka traduce i programmi awk in C, li compila,
e prepara il codice eseguibile usando una libreria di funzioni che
implementano le funzionalità di base di awk.
Comprende anche un certo numero di estensioni.
Il traduttore di awk è rilasciato sotto la licenza GPL, e la
relativa libreria sotto la licenza LGPL.
Per ottenere awka, si visiti
il sito https://sourceforge.net/projects/awka.
Il progetto sembra essere stato congelato; non ci sono state modifiche nel codice sorgente dal 2001 circa.
pawkNelson H.F. Beebe all’Università dello Utah ha modificato
BWK awk per fornire informazioni di temporizzazione e profilazione.
Questo è differente dall’usare gawk con l’opzione --profile
(vedi la sezione Profilare i propri programmi awk)
nel senso che fornisce un profilo basato sul consumo di CPU, non sul
numero di esecuzioni di una data riga di codice.
Sia può trovare sia in
ftp://ftp.math.utah.edu/pub/pawk/pawk-20030606.tar.gz
che in
http://www.math.utah.edu/pub/pawk/pawk-20030606.tar.gz.
awkBusyBox è un programma distribuito con licenza GPL che fornisce versioni
ridotte di parecchie piccole applicazioni, all’interno di un singolo modulo
eseguibile. È stato ideato per sistemi
integrati.
Include un’implementazione completa di POSIX awk. Quando lo si
compila occorre prestare attenzione a non eseguire ‘make install’, perché
in questo modo si andrebbero a sostituire copie di altre applicazioni nella
directory /usr/local/bin del sistema corrente. Per ulteriori
informazioni, si veda la pagina principale del progetto.
awk per OpenSolarisLe versioni di awk in /usr/xpg4/bin e /usr/xpg6/bin su
Solaris sono grosso modo conformi allo standard POSIX. Sono basate sul
comando awk preparato per i PC dalla ditta Mortice Kern. È stato
possibile compilare e far funzionare questo codice sotto GNU/Linux dopo 1–2
ore di lavoro. Rendere questo codice più generalmente portabile (usando gli
strumenti GNU Autoconf e/o Automake) richiederebbe ulteriore lavoro, che non è
stato fin qui compiuto, almeno per quel che risulta a chi scrive.
Il codice sorgente era un tempo disponibile dal sito web OpenSolaris. Tuttavia, il progetto è terminato, e il sito web chiuso. Fortunatamente, il progetto Illumos mette a disposizione questa implementazione. Si possono vedere i singoli file in https://github.com/joyent/illumos-joyent/blob/master/usr/src/cmd/awk_xpg4.
goawkQuesto è un interpretatore di awk scritto nel
Linguaggio di programmazion Go.
Implementa POSIX awk, con alcune estensioni minori.
Il codice sorgente è disponibile in https://github.com/benhoyt/goawk.
L’autore ha scritto un buon
articolo
che descrive l’implementazione.
jawkQuesto è un interprete per awk scritto in Java. Dichiara di
essere un interprete completo, anche se, poiché usa funzionalità di Java
per l’I/O e per la ricerca di regexp, il linguaggio che supporta
è differente da awk POSIX.
Ulteriori informazioni sono disponibili sulla
pagina principale del progetto.
Questo è un interprete awk incorporabile, derivato da
mawk. Per ulteriori informazioni, si veda
http://repo.hu/projects/libmawk/.
awk incorporabile di Mircea Neacsuawk, di Mircea NeacsuMircea Neacsu ha creato un interpretatore awk
incorporabile, basato su BWK awk. È disponibile
nel sito https://github.com/neacsum/awk.
pawkQuesto è un modulo Python che intende introdurre funzionalità di tipo
awk in Python. Si veda https://github.com/alecthomas/pawk per
ulteriori informazioni. (Questo programma non è correlato con la versione
modificata da Nelson Beebe di BWK awk, descritta prima.)
awkQuesto è un interprete di awk incorporabile. Per ulteriori
informazioni, si veda
https://code.google.com/p/qse/.
QTawkQuesta è un’implementazione indipendente di awk distribuita con la
licenza GPL. Ha un gran numero di estensioni rispetto ad awk
standard, e può non essere sintatticamente compatibile al 100% con esso. Si
veda http://www.quiktrim.org/QTawk.html per ulteriori informazioni,
compreso il manuale. Il puntatore per scaricare QuikTrim non punta all’ultima
versione: si veda http://www.quiktrim.org/#AdditionalResources per un
puntatore alla versione corrente.
Il progetto sembra essere fermo; non ci sono nuove versioni del codice a partire dal 2014 circa.
Si veda anche [in inglese] la sezione “Versions and implementations”
della voce di
Wikipedia su awk per informazioni su ulteriori versioni.
Successivo: Sommario dell'installazione, Precedente: Bug, Su: Installazione [Contenuti][Indice]