Successivo: , Precedente: , Su: Top   [Contenuti][Indice]


Glossario

Abbraccio mortale

La situazione in cui due processi che comunicano tra loro sono entrambi bloccati, in attesa che l’altro processo faccia qualcosa.

Ada

Un linguaggio di programmazione originalmente definito dal Department of Defense U.S.A. per la programmazione integrata. È stato progettato per favorire dei buoni metodi da seguire nell’ingegneria del software.

Ambiente

Si veda “Variabili d’ambiente”.

Àncora

I metacaratteri regexp^’ e ‘$’, che richiedono che la corrispondenza che si sta cercando si trovi all’inizio o alla fine di una stringa, rispettivamente.

Angolo buio

Un’area del linguaggio le cui specifiche spesso non erano (o ancora non sono) chiare, col risultato di ottenere un comportamente inatteso o non desiderabile. Tali aree sono segnalate in questo Documento con “(a.b.)” nel testo e sono riportate nell’indice analitico sotto la voce “angolo buio”.

ANSI

L’American National Standards Institute. Questo ente produce parecchi standard, e tra questi gli standard per i linguaggi di programmazione C e C++. Questi standard spesso diventano anche internazionali. Si veda anche “ISO”.

Argomento

Un argomento può essere due cose differenti. Può essere un’opzione o un nome-file passato a un comando mentre lo si invoca dalla riga dei comandi, oppure può essere qualcosa passato a una funzione all’interno di un programma, per esempio all’interno di awk.

In quest’ultimo caso, un argomento può essere passato a una funzione in due modi. Nel primo modo è passato come valore alla funzione chiamata, ossia una copia del valore della variabile è reso disponibile alla funzione chiamata, ma la variabile originale non può essere modificata dalla funzione stessa. Nel secondo modo l’argomento è passato per riferimento, ossia un puntatore alla variabile in questione è passato alla funzione, che può quindi modificarla direttamente. In awk le variabili scalari sono passate per valore, e i vettori sono passati per riferimento. Si veda “Passaggio per valore/riferimento”.

Arrotondamento

Arrotondare il risultato di un’operazione aritmetica può essere difficile. C’è più di un modo di arrotondare, e in gawk è possibile scegliere quale metodo dovrebbe essere usato all’interno di un programma. Vedi la sezione Impostare la modalità di arrotondamento.

Assegnamento

Un’espressione awk che cambia il valore di qualche variabile o dato oggetto di awk. Un oggetto a cui si può assegnare un valore è detto un lvalue. I valori assegnati sono chiamati rvalue. Vedi la sezione Espressioni di assegnamento.

Assembler incredibilmente scritto in awk

Henry Spencer dell’Università di Toronto ha scritto un assembler adatto a molti diversi hardware, usando solo script sed e awk. È lungo migliaia di righe, e include la descrizione dell’hardware di numerosi micro-computer a 8 bit. È un buon esempio di programma per cui sarebbe stato meglio utilizzare un altro linguaggio.

Asserzione

Un’istruzione in un programma che afferma che una condizione è verificata in un dato punto di un programma. Utile per ragionare su come si suppone funzioni un programma.

Azione

Una serie di istruzioni awk associate a una regola. Se l’espressione di ricerca della regola individua un record in input, awk esegue su quel record l’azione relativa. Le azioni sono sempre racchiuse tra parentesi graffe. (Vedi la sezione Azioni).

Bash

La versione GNU della shell standard (il Bourne-Again SHell). Si veda anche “Bourne Shell”.

Binario

Notazione a base due, che usa le cifre 01. Poiché i circuiti elettronici funzionano “naturalmente” in base 2 (basta pensare a Off/On), ogni cosa all’interno di un computer è calcolata usando la base 2. Ciascuna cifra rappresenta la presenza (o l’assenza) di una potenza di 2 ed è chiamata un bit. Così, per esempio, il numero in base due 10101 rappresenta il numero in base decimale 21, ((1 x 16) + (1 x 4) + (1 x 1)).

Poiché i numeri in base due diventano rapidamente molto lunghi sia da leggere che da scrivere, normalmente li si unisce a gruppi di tre (ossia, sono visti come numeri ottali) o a gruppi di quattro (ossia, sono visti come numeri esadecimali). Non c’è un modo diretto per inserire numeri a base due in un programma C. Se necessario, tali numeri vengono solitamente inseriti come numeri ottali o esadecimali. Il numero di cifre in base due contenuto nei registri usati per rappresentare i numeri interi all’interno dei computer è un’indicazione approssimativa della potenza di calcolo del computer stesso. La maggior parte dei computer oggi usa 64 bit per rappresentare i numeri interi nei registri di calcolo, ma registri a 32 bit, 16 bit e 8 bit sono stati largamente in uso in passato. Vedi la sezione Numeri ottali ed esadecimali.

Biscotto della fortuna

Una particolare perla di saggezza, segno, detto o ricordo prodotto da (o presentato a) un programma. (Con vivi ringraziamenti al Prof. Doug McIlroy).

Bit

Abbreviazione di “Binary Digit” [cifra binaria]. Tutti i valori nella memoria di un computer sono rappresentati nella forma di cifre binarie: valori che sono zero o uno. Gruppi di bit possono essere interpretati differentemente — come numeri interi, numeri in virgola mobile, dati di tipo carattere, indirizzi di altri oggetti contenuti in memoria, o altri dati ancora. awk permette di lavorare con numeri in virgola mobile e stringhe. gawk permette di manipolare bit con le funzioni predefinite descritte in Funzioni per operazioni di manipolazione bit.

I computer sono spesso definiti dal numero di bit che usano per rappresentare valori interi. Molti sistemi sono a 32-bit, ma i sistemi a 64-bit sono sempre più numerosi, mentre i sistemi a 16-bit [e quelli a 8-bit] sono praticamente scomparsi.

Bourne Shell

La shell standard (/bin/sh) in Unix e nei sistemi derivati da Unix, Originariamente scritto da Steven R. Bourne dei Bell Laboratories. Molte shell (Bash, ksh, pdksh, zsh) sono generalmente compatibili con la Bourne shell, anche quando offrono ulteriori funzionalità.

C

Il linguaggio di programmazione di sistema con cui è scritta la maggior parte del software GNU. Il linguaggio di programmazione awk ha una sintassi simile a quella del C, e questo Documento puntualizza, quando serve, le somiglianze esistenti fra awk e C.

In generale, gawk tenta di essere ragionevolmente simile alla versione 1990 del C ISO.

C Shell

La C Shell (csh o la sua versione migliorata tcsh) è una shell Unix creata da Bill Joy verso la fine degli anni ’70. La C shell si differenzia dalla altre shell per le sue funzionalità interattive, e per lo stile complessivo, che è abbastanza simile a quello del linguaggio C. La C shell non è compatibile all’indietro con la Bourne Shell, e per questo motivo un’attenzione speciale è necessaria se si convertono alla C shell degli script scritti per altre shell Unix, in particolare per ciò che concerne la gestione delle variabili di shell. Si veda anche “Bourne Shell”.

C++

Un linguaggio di programmazione molto diffuso, orientato agli oggetti, derivato dal C.

Campo

Quando awk legge un record in input, suddivide il record in parti separate da spazi vuoti (o da una regexp che individua il separatore, modificabile reimpostando la variabile predefinita FS). Tali parti sono dette campi. Se le parti sono di lunghezza fissa, si può usare la variabile predefinita FIELDWIDTHS per descriverne le lunghezze. Se si desidera specificare i contenuti dei campi, piuttosto che il separatore fra i campi, si può usare la variabile predefinita FPAT per farlo. (Vedi la sezione Specificare come vengono separati i campi, Leggere campi di larghezza costante, e Definire i campi in base al contenuto).

Caratteri

L’insieme di codici numerici usati da un computer per rappresentare i caratteri (lettere, numeri, segni d’interpunzione, etc.) di un particolare paese o località. L’insieme di caratteri più comunemente in uso oggi è l’ASCII (American Standard Code for Information Interchange). Molti paesi europei usano un’estensione dell’ASCII nota come ISO-8859-1 (ISO Latin-1). L’insieme di caratteri Unicode sta guadagnando popolarità e affermandosi come standard, e il suo uso è particolarmente esteso nei sistemi GNU/Linux.

CHEM

Un preprocessore per pic che legge descrizioni di molecole e produce l’input a pic che serve a disegnarle. È stato scritto in awk da Brian Kernighan e Jon Bentley, ed è disponibile in http://netlib.org/typesetting/chem.

Classe di caratteri

Si veda “Espressione tra parentesi quadre”.

Compilatore

Un programma che traduce codici sorgente scritti in qualche linguaggio in codici eseguibili su un particolare computer. Il codice oggetto risultante può quindi essere eseguito direttamente dal computer. Si veda anche “Interprete”.

Concatenazione

Concatenare due stringhe significa unirle, producendo una nuova stringa. Per esempio, la stringa ‘pippo’ concatenata con la stringa ‘pluto’ produce la stringa ‘pippopluto’. (Vedi la sezione Concatenazione di stringhe).

Contatore di riferimenti

Un meccanismo interno di gawk per minimizzare la quantità di memoria necessaria per contenere il valore delle variabili di tipo stringa. Se il valore assunto da una variabile è usato in più di un posto nel programma, solo una copia del valore stesso è tenuta in memoria, e il contatore di riferimenti ad esso associato è aumentato di uno quando lo stesso valore è usato da un’ulteriore variabile, e diminuito di uno quando la variabile relativa non è più utilizzata. Quando il contatore di riferimenti va a zero, la parte di memoria utilizzata per contenere il valore della variuabile è liberato.

Coprocesso

Un programma subordinato con il quale è possibile una comunicazione bidirezionale dal programma principale.

Dati oggetto

Sono costituiti da numeri e stringhe di caratteri. I numeri sono convertiti in stringhe e viceversa, a seconda delle necessità. (Vedi la sezione Conversione di stringhe e numeri).

Debugger

Un programma che serve agli sviluppatori per rimuovere “bug” (de-bug) dai loro programmi.

Dominio di testo

Un nome unico che identifica un’applicazione. Usato per raggruppare messaggi che sono tradotti in fase di esecuzione nel linguaggio locale.

Doppia precisione

Una rappresentazione di numeri all’interno del computer che ha una parte espressa sotto forma di frazione. I numeri a doppia precisione hanno più cifre decimali che quelli a singola precisione, ma le operazioni che la usano consumano più risorse di quelle eseguite in singola precisione. La doppia precisione è il formato con cui awk memorizza i valori numerici. Nel linguaggio C è il tipo di dati detto double.

Editore di flusso

Un programma che legge record da un flusso in input e li elabora uno o più alla volta. Questo è diverso da quel che farebbe un programma batch il quale potrebbe leggere completamente i file in input, prima di iniziare a fare alcunché, ed è diverso anche da un programma interattivo, che richiede input dall’utente [tipicamente, una riga alla volta].

Effetto collaterale

Un effetto collaterale ha luogo quando un’espressione ha un effetto ulteriore, invece di produrre solo un valore. Espressioni di assegnamento, incremento e decremento, e invocazioni di funzioni hanno effetti collaterali. (Vedi la sezione Espressioni di assegnamento).

Epoca [Inizio del tempo in Unix]

la data usata come “inizio del tempo” per i campi che contengono date. I valori del tempo nella maggior parte dei dei sistemi sono rappresentati in numero di secondi trascorsi dall’Epoca, con funzioni di libreria che consentono di convertire tali valori nei formati normali di data e ora.

L’Epoca nei sistemi Unix e POSIX parte dal primo gennaio 1970 alle ore 00:00:00 UTC. Si veda anche “GMT” e “UTC”.

Esadecimale

Notazione per l’aritmetica in base 16, che usa le cifre 09 e le lettere AF, con ‘A’ che rappresenta 10, ‘B’ che rappresenta 11, e così via, fino a ‘F’ per 15. I numeri esadecimali sono scritti in C prefissandoli con ‘0x’, per indicarne la base. Quindi, 0x12 è 18 ((1 x 16) + 2). Vedi la sezione Numeri ottali ed esadecimali.

Espressione booleana

Così detta dal nome del matematico inglese George Boole. Si veda anche “Espressione logica”.

Espressione condizionale

Un’espressione che usa l’operatore ternario ‘?:’, come p.es. ‘expr1 ? expr2 : expr3’. Dell’espressione expr1 viene calcolato il valore; se risulta verificata, il valore dell’intera espressione diviene quello di expr2; altrimenti il valore è quello di expr3. In ogni caso, solo una delle due espressioni expr2 e expr3 viene calcolata. (Vedi la sezione Espressioni condizionali).

Espressione di confronto

Una relazione che è vera o falsa, del tipo di ‘a < b’. Espressioni di confronto sono usate nelle istruzioni if, while, do, for e nelle espressioni di ricerca per scegliere quale record in input elaborare. (Vedi la sezione Tipi di variabile ed espressioni di confronto).

Espressione di intervallo

Una parte di un’espressione regolare che permette di specificare corrispondenze multiple di qualche parte della regexp. Le espressioni di intervallo non erano originariamente ammesse nei programmi awk.

Espressione di ricerca [pattern]
(detta anche "criterio di ricerca" o "modello di ricerca")

Le espressioni di ricerca individuano per awk a quali record in input sono applicabili determinate regole.

Un’espressione di ricerca [pattern] è un’espressione condizionale specifica che viene confrontata con ogni record in input. Se la corrispondenza esiste, si dice che il modello individua il record in input. Una tipica espressione di ricerca potrebbe confrontare il record in input con un’espressione regolare. (Vedi la sezione Elementi di un criterio di ricerca).

Espressione logica

Un’espressione che usa gli operatori logici AND, OR e NOT, scritti come ‘&&’, ‘||’, e ‘!’ in awk. Spesso chiamate espressioni booleane, dal nome del matematico che per primo ha sistematizzato questo tipo di logica matematica.

Espressione regolare

un’espressione regolare (abbreviabile come “regexp”) è un modello che descrive un assieme di stringhe, potenzialmente illimitato. Per esempio l’espressione regolare ‘R.*xp’ corrisponde a qualsiasi stringa che inizia con la lettera ‘R’ e termina con le lettere ‘xp’. In awk, le espressioni regolari sono usate nei modelli [pattern] e nelle espressioni condizionali. Le espressioni regolari possono contenere sequenze di protezione. (Vedi la sezione Espressioni regolari).

Espressione regolare calcolata

Si veda “Espressioni regolari dinamiche”.

Espressione regolare costante

Un’espressione regolare costante è un’espressione regolare scritta tra barre, come /pippo/. A una tale espressione viene assegnato un valore quando si scrive un programma awk e non può essere modificata in fase di esecuzione del programma. (Vedi la sezione Uso di espressioni regolari.)

Espressione regolare dinamica

Un’espressione regolare dinamica è un’espressione regolare scritta come un’espressione normale. Potrebbe essere una costante stringa, come "pippo", ma potrebbe anche essere un’espressione il cui valore è variabile (Vedi la sezione Usare regexp dinamiche).

Espressione tra parentesi quadre

All’interno di una espressione regolare, un’espressione racchiusa fra parentesi quadre sta a indicare che un singolo carattere appartiene a una specifica classe di caratteri. Un’espressione tra parentesi quadre può contenere una lista di uno o più caratteri, come ‘[abc]’, un intervallo di caratteri, come ‘[A-Z]’, o un nome, delimitato da ‘:’, che designa un insieme di caratteri conosciuto, come ‘[:digit:]’. La forma di espressione tra parentesi quadre racchiusa tra ‘:’ è indipendente dalla rappresentazione binaria dei caratteri stessi, che potrebbe utilizzare le codifiche ASCII, EBCDIC, o Unicode, a seconda dell’architettura del computer, e della localizzazione. Si veda anche “Espressioni regolari”.

Espressione tra parentesi quadre complementata

La negazione di una espressione tra parentesi quadre. Tutto ciò che non è descritto da una data espressione tra parentesi quadre. Il simbolo ‘^’ precede l’espressione tra parentesi quadre che viene negata. Per esempio: ‘[^[:digit:]]’ designa qualsiasi carattere che non sia una cifra. ‘[^bad]’ designa qualsiasi carattere che non sia una delle lettere ‘b’, ‘a’, o ‘d’. Si veda “Espressione tra parentesi quadre”.

Estensione

Una funzionalità aggiunta o una modifica a un linguaggio di programmazione o a un programma di utilità, non definita dallo standard di quel linguaggio o di quel programma di utilità. gawk ha molte estensioni rispetto al POSIX awk (fin troppe).

FDL

Free Documentation License. Si veda “Licenza Documentazione Libera”.

File speciale

Un nome-file interpretato internamente da gawk, invece che gestito direttamente dal sistema operativo in cui viene eseguito gawk — per esempio, /dev/stderr. (Vedi la sezione Nomi-file speciali in gawk).

Flag [Indicatore]

Una variabile [di tipo booleano] che, se verificata, indica la presenza o l’assenza di qualche condizione.

Formato

Le stringhe di formato controllano il modo in cui le funzioni strftime(), sprintf() e l’istruzione printf visualizzano l’output che producono. Inoltre, le conversioni da numeri a stringhe sono controllate dalle stringhe di formato contenute nelle variabili predefinite CONVFMT e OFMT. (Vedi la sezione Lettere di controllo del formato).

Formattatore incredibilmente duttile (awf)

Henry Spencer all’Università di Toronto ha scritto un formattatore che accetta un ampio sottoassieme dei comandi di formattazione ‘nroff -ms’ e ‘nroff -man’ usando awk e sh.

Fortran

Abbreviazione di FORmula TRANslator (traduttore di formule), è uno dei primi linguaggi di programmazione, pensato per il calcolo scientifico. È stato ideato da John Backus ed è disponibile a partire dal 1957. È ancora in uso ai giorni nostri.

Free Software Foundation

Un’organizzazione senza fini di lucro dedicata alla produzione e distribuzione di software liberamente distribuibile. È stata fondata da Richard M. Stallman, l’autore dell’originale editor Emacs. GNU Emacs è la versione di Emacs maggiormente usata oggigiorno.

FSF

Si veda “Free Software Foundation”.

Funzione

Una parte di un programma awk che si può chiamare da qualsiasi punto del programma, per eseguire un compito. awk ha parecchie funzioni predefinite. Gli utenti possono definire essi stessi delle funzioni in qualsiasi parte del programma. Le funzioni possono essere ricorsive, ossia possono chiamare se stesse. Vedi la sezione Funzioni. In gawk è anche possibile avere funzioni condivise tra diversi programmi, incluse secondo necessità usando la direttiva @include (vedi la sezione Come includere altri file nel proprio programma). In gawk il nome della funzione da chiamare può essere generato in fase di esecuzione, ossia in maniera dinamica. L’estensione API di gawk fornisce funzioni di costruzione (vedi la sezione Funzioni per creare valori).

Funzioni predefinite

Il linguaggio awk fornisce funzioni predefinite, che compiono calcoli vari, di tipo numerico, di input/output e di tipo carattere. Esempi sono sqrt() ([square root], la radice quadrata di un numero) e substr() (che estrae una sottostringa da una stringa). gawk fornisce funzioni per la gestione di data e ora, le operazioni a livello di bit, l’ordinamento di vettori, il controllo di tipo [di variabile] e la traduzione di stringhe in fase di esecuzione di programma. (Vedi la sezione Funzioni predefinite).

gawk

L’implementazione GNU di awk.

General Public License

Un documento che descrive le condizioni alle quali gawk e i suoi file sorgenti possono essere distribuiti. (Vedi la sezione Licenza Pubblica Generale GNU (GPL)).

GMT

“Greenwich Mean Time”. Il termine tradizionalmente usato per UTC. È la datazione usata internamente dai sistemi Unix e POSIX. Si veda anche “Epoca” e “UTC”.

GNU

“GNU’s not Unix” (GNU non è Unix). Un progetto della Free Software Foundation, ancora in corso, che mira a creare un ambiente di calcolo completo, liberamente distribuibile, aderente allo standard POSIX.

GNU/Linux

Una variante del sistema GNU che usa il kernel Linux, invece del kernel proprio della Free Software Foundation, noto come Hurd. Il kernel Linux è un clone di Unix stabile, efficiente, completo di tutte le funzionalità, ed è stato portato su varie architetture hardware. È molto diffuso su sistemi del tipo dei Personal Computer, ma funziona bene anche in parecchi altri computer. Il codice sorgente del kernel Linux è disponibile nei termini della GNU General Public License, la qual cosa è forse il suo aspetto più rilevante.

GPL

Si veda “General Public License”.

Graffe

I caratteri ‘{’ e ‘}’. Le parentesi graffe sono usate in awk per delimitare azioni, istruzioni composte, e il codice che costituisce le funzioni.

Guidato dai dati

Una descrizione dei programmi awk, nei quali si specifica quali sono i dati che si vogliono elaborare, e cosa fare quando si trovano tali dati.

I/O

Abbreviazione per “Input/Output,” ovvero il trasferimento di dati da e verso un programma in esecuzione.

Individuazione

L’azione che consiste nel confrontare una stringa con un’espressione regolare. Se la regexp descrive qualcosa che è contenuto nella stringa, si dice che la individua.

Internazionalizzazione

La procedura con cui si scrive o si modifica un programma in modo che possa inviare messaggi in lingue differenti, senza richiedere ulteriori modifiche al codice sorgente.

Intero

Un numero intero, cioè un numero che non ha una parte frazionaria.

Interprete

Un programma che accetta come input del codice sorgente, e usa le istruzione contenute nello stesso per elaborare dati e fornire risultati. awk è tipicamente (ma non sempre) implementato come un interprete. Si veda anche “Compilatore”.

Intervallo (nelle righe di input)

Una sequenza di righe consecutive nel/nei file in input. Un’espressione di ricerca può specificare intervalli di righe di input da far elaborare ad awk oppure può specificare singole righe. (Vedi la sezione Elementi di un criterio di ricerca).

ISO

Acronimo di International Organization for Standardization. Questo ente elabora degli standard internazionali in vari settori, inclusi i linguaggi di programmazione, come il C e il C++. In ambito informatico, standard importanti come quelli per il C, C++, e POSIX sono allo stesso tempo standard nazionali americani e standard internazionali ISO. In questo Documento lo Standard C è chiamato “ISO C”. Si veda il sito web ISO per ulteriori informazioni sul nome dell’ente e sul suo acronimo di tre lettere, che rimane lo stesso in tutte le lingue.

Istruzione

Un’espressione all’interno di un programma awk nella parte "azione" di una regola criterio di ricerca–azione, o all’interno di una funzione awk. Un’espressione può essere un assegnamento di variabile, un’operazione su un vettore, un ciclo, etc.

Istruzione composta

Una serie di istruzioni awk, racchiuse tra parentesi graffe. Le istruzioni composte possono essere nidificate [possono esserci più livelli di parentesi graffe]. (Vedi la sezione Istruzioni di controllo nelle azioni).

Istruzione di controllo

Un’istruzione di controllo è un’istruzione per eseguire una data operazione o un insieme di operazioni all’interno di un programma awk, se una determinata condizione è verificata. Istruzioni di controllo sono: if, for, while, e do (vedi la sezione Istruzioni di controllo nelle azioni).

Java

Un moderno linguaggio di programmazione originalmente sviluppato da Sun Microsystems (ora Oracle) che prevede la programmazione orientata agli oggetti. Sebbene normalmente sia implementato compilando le istruzioni per una macchina virtuale standard (la JVM — Java Virtual Machine) il linguaggio può essere compilato per essere eseguito in maniera nativa.

Korn Shell

La Korn Shell (ksh) è una shell Unix sviluppata da David Korn, presso i Bell Laboratories, nei primi anni ’80. La Korn shell è compatibile all’indietro con la Bourne shell e comprende molte funzionalità presenti nella C Shell. Si veda anche “Bourne Shell”.

LDL

Si veda “Licenza Documentazione Libera”.

Lesser General Public License

Questo documento descrive i termini nei quali possono essere distribuiti degli archivi contenenti librerie in formato eseguibile o oggetti condivisi, e il relativo codice sorgente.

LGPL

Si veda “Lesser General Public License”.

Licenza Documentazione Libera

Questo documento descrive i termini in base ai quali questo Documento è pubblicato e può essere copiato. (Vedi la sezione Licenza per Documentazione Libera GNU (FDL)).

Linguaggio awk

Il linguaggio in cui i programmi awk sono scritti.

Linux

Si veda “GNU/Linux”.

Lista di caratteri

Si veda “Espressione tra parentesi quadre”.

Localizzazioni

La funzionalità che fornisce i dati necessari perché un programma internazionalizzato interagisca con l’utente in un particolare linguaggio.

Lvalue

[left-value, ossia valore a sinistra] Un’espressione che può stare alla sinistra di un operatore di assegnamento. Nella maggior parte dei linguaggi, gli lvalue possono essere variabili o elementi di un vettore. In awk, un designatore di campo può anche essere usato come un lvalue.

Marcatura temporale

Un valore nel formato “secondi a partire dall’epoch” usato dai sistemi Unix e POSIX. Usato per le funzioni gawk mktime(), strftime(), e systime(). Si veda anche “Epoca,” “GMT,” e “UTC”.

Metacaratteri

Caratteri usati all’interno di una regexp e che non rappresentano se stessi. Servono invece per rappresentare operazioni con espressioni regolari, come per esempio delle ripetizioni, dei raggruppamenti, o delle alternanze.

Nidificazione

Una nidificazione si riscontra dove l’informazione è organizzata a strati, o dove degli oggetti contengono altri oggetti simili. In gawk la direttiva @include può essere nidificata. La nidificazione “naturale” delle operazioni aritmetiche e logiche può essere modificato attraverso l’uso di parentesi. (vedi la sezione Precedenza degli operatori (Come si nidificano gli operatori)).

No-op

Un’operazione che non fa nulla.

Numero

Un dato oggetto il cui valore è numerico. Le implementazioni di awk usano numeri in virgola mobile in doppia precisione per rappresentare i numeri. Le primissime implementazioni di awk usavano numeri in virgola mobile in singola precisione.

Numero in virgola mobile

Spesso descritto, in termini matematici, come un numero “razionale” o reale, è soltanto un numero che può avere una parte frazionaria. Si veda anche “Doppia precisione” e “Singola precisione”.

Operatori di espressioni regolari

Si veda “Metacaratteri”.

Ottale

Notazione avente come base 8, nella quale le cifre sono 07. I numeri ottali in C sono scritti premettendo uno ‘0’, per indicare la base. Quindi, 013 è 11 ((1 x 8) + 3). Vedi la sezione Numeri ottali ed esadecimali.

Parentesi Graffe

Si veda “Graffe”.

Parola chiave

nel linguaggio awk, una parola chiave (keyword) è una parola che ha un significato speciale. Queste parole sono riservate e non possono essere usate come nomi di variabili.

Le parole chiave di gawk sono: BEGIN, BEGINFILE, END, ENDFILE, break, case, continue, default, delete, do…while, else, exit, for…in, for, function, func, if, next, nextfile, switch, e while.

PEBKAC

Un acronimo inglese che descrive qual è probabilmente la causa più frequente di problemi nell’uso di un computer. (Problem Exists Between Keyboard and Chair [il problema si trova tra la tastiera e la sedia].)

Percorso di ricerca

In gawk, una lista di directory in cui cercare file contenenti del codice sorgente per awk. Nella shell, una lista di directory in cui ricercare un programma eseguibile.

Plug-in

Si veda “Estensione”.

POSIX

Il nome di una serie di standard che specificano l’interfaccia di un Sistema Operativo Portabile (Portable Operating System). La “IX” specifica che questi standard sono stati originati dallo Unix. Lo standard più rilevante per gli utenti awk è lo IEEE Standard for Information Technology, Standard 1003.1TM-2017 (Revisione dello Standard IEEE 1003.1-2008). Lo standard POSIX 2018 può essere trovato in rete all’indirizzo: https://pubs.opengroup.org/onlinepubs/9699919799/.

Precedenza

L’ordine in cui le operazioni sono eseguite quando si usano degli operatori se non si stabiliscono precedenze per mezzo di parentesi.

Private

Variabili e/o funzioni che sono riservate all’uso esclusivo di funzioni di libreria, e non per il programma principale awk. Un’attenzione particolare va prestata quando si desigano tali variabili e funzioni. (Vedi la sezione Dare un nome a variabili globali in funzioni di libreria).

Programma awk

Un programma awk consiste in una serie di espressioni di ricerca e azioni, che formano delle regole. Per ogni record in input a un progranna, le regole del programma sono elaborate nell’ordine in cui sono scritte. I programmi awk possono anche contenere definizioni di funzioni.

Record

Si veda “Record in input” e “Record in output”.

Record in input

Una singola parte di dati letta da awk. Solitamente, un record in input di awk consiste in una riga di testo. (Vedi la sezione Controllare come i dati sono suddivisi in record).

Record in output

Un singolo pezzo di dati scritto da awk. Solitamente, un record in output di awk consiste di una o più righe di testo. Vedi la sezione Controllare come i dati sono suddivisi in record.

Ricorsione

Quando una funzione chiama se stessa, direttamente o indirettamente. Se questo è chiaro, si può passare a leggere la definizione successiva. Altrimenti, si veda la voce “Ricorsione”.

regexp

Si veda “Espressione regolare”.

Regola

Un segmento di un programma awk che specifica come trattare singoli record in input. Una regola consiste in una espressione di ricerca e in una azione. awk legge un record in input; poi, per ogni regola, se il record in input soddisfa l’espressione di ricerca della regola, awk esegue l’azione specificata dalla regola. Altrimenti, la regola non ha alcun effetto su quel record in input.

Ridirezione

Ridirezione significa ricevere input da quaclosa che non sia il flusso dello standard input, o dirigere output a qualcosa di diverso dal flusso dello standard output.

Si può ridirigere input all’istruzione getline usando gli operatori ‘<’, ‘|’, e ‘|&’. Si può ridirigere l’output delle istruzioni print e printf verso un file o un comando di sistema, usando gli operatori ‘>’, ‘>>’, ‘|’, e ‘|&’. (Vedi la sezione Richiedere input usando getline, e Ridirigere l’output di print e printf).

Rvalue

[right-value, ossia valore a destra] Un valore che può apparire alla destra di un operatore di assegnazione. In awk, essenzialmente ogni espressione ha un valore. Ognuno di questi valori è un rvalue.

Scalare

Un valore singolo, sia numerico che di tipo stringa. Le variabili normali sono scalari; i vettori e le funzioni non lo sono.

Scorciatoia

La natura degli operatori logici awk&&’ e ‘||’. Se il valore dell’intera espressione in cui sono contenuti è determinabile valutando solo una parte iniziale dell’espressione, la parte seguente non è presa in considerazione. (Vedi la sezione Espressioni booleane).

Script awk

Un altro nome per designare un programma awk.

sed

Si veda “Editore di flusso”.

Seme

Il valore iniziale, o il punto di partenza, di una sequenza di numeri casuali.

Sequenze di protezione

Una speciale sequenza di caratteri usata per descrivere caratteri non stampabili, come ‘\n’ (ritorno a capo) o ‘\033’ per il carattere ASCII ESC (Escape). (Vedi la sezione Sequenze di protezione).

Shell

Il programma che interpreta i comandi nei sistemi Unix e in quelli che rispettano lo standard POSIX. La shell funziona sia interattivamente che come un linguaggio di programmazione, che elabora file sequenziali, detti script di shell.

Singola precisione

Una rappresentazione di numeri all’interno del computer che ha una parte espressa sotto forma di frazione. I numeri a singola precisione hanno meno cifre significative di quelli a doppia precisione, ma le operazioni relative richiedono talora meno risorse elaborative da parte del computer. Questo tipo di numero è quello usato da alcune tra le prime versioni di awk per memorizzare valori numerici. Nel linguaggio C, sono numeri di tipo float.

Spazio

Il carattere generato premendo la barra spaziatrice sulla tastiera.

Spazio vuoto

Una sequenza di spazi, TAB, o caratteri di ritorno a capo presenti in un record in input o in una stringa.

Stringa

Un dato che consiste in una sequenza di caratteri, come ‘Io sono una stringa’. Le costanti stringa sono scritte tra doppi apici nel linguaggio awk e possono contenere sequenze di protezione (Vedi la sezione Sequenze di protezione).

Stringa nulla

Una stringa che non contiene alcun carattere. È rappresentabile esplicitamente nei programmi awk mettendo due caratteri di doppio apice uno dietro all’altro (""). La si può inserire nei dati in input mettendo due separatori di campo uno dietro all’altro.

Stringa vuota

Si veda “Stringa nulla”.

Tab

Il carattere generato premendo il tasto TAB sulla tastiera. Normalmente può generare sino a otto spazi in output.

Unix

Un sistema operativo per computer originalmente sviluppato nei primi anni ’70 presso gli AT&T Bell Laboratories. Inizialmente si diffuse nelle università di tutto il mondo e in seguito si estese agli ambienti del mondo del lavoro come un sistema per lo sviluppo del software e come server di rete. Ci sono parecchie versioni di Unix a pagamento, come pure parecchi sistemi operativi modellati su Unix e il cui codice sorgente è liberamente disponibile. (come GNU/Linux, NetBSD, FreeBSD, e OpenBSD).

UTC

L’abbreviazione comune per “Universal Coordinated Time” (tempo coordinato universale). Questa è l’ora standard di Greenwich, (UK), usata come tempo di riferimento per i calcoli relativi a marcature temporali. Si veda anche “Epoca” e “GMT”.

Variabile

Un nome per designare un valore. In awk, le variabili possono essere degli scalari o dei vettori.

Variabili d’ambiente

Una collezione di stringhe, in formato ‘nome=valore’, che ogni programma ha a disposizione. Gli utenti in generale assegnano valori alle variabili d’ambiente per fornire informazioni a vari programmi. Esempi tipici sono le variabili d’ambiente HOME e PATH.

Variabili predefinite

ARGC, ARGV, CONVFMT, ENVIRON, FILENAME, FNR, FS, NF, NR, OFMT, OFS, ORS, RLENGTH, RSTART, RS, e SUBSEP sono le variabili con un significato speciale in awk. In più, ARGIND, BINMODE, ERRNO, FIELDWIDTHS, FPAT, IGNORECASE, LINT, PROCINFO, RT, e TEXTDOMAIN sono le variabili con un significato speciale in gawk. Se i loro valori sono modificati, il contesto di esecuzione di awk cambia. (Vedi la sezione Variabili predefinite).

Vettore

Un raggruppamento di molti valori con uno stesso nome. La maggior parte dei linguaggi fornisce solo vettori sequenziali. awk fornisce vettori associativi.

Vettore associativo

Un vettore i cui indici possono essere numeri o stringhe, e non solamente interi sequenziali compresi in un intervallo prestabilito.


Successivo: , Precedente: , Su: Top   [Contenuti][Indice]