Successivo: Esercizi su Input, Precedente: Directory su riga di comando, Su: Leggere file [Contenuti][Indice]
RS.
Le possibilità sono le seguenti:
Valore di RS | Record separati da … | awk / gawk |
|---|---|---|
| Un carattere singolo | Quel carattere | awk |
La stringa nulla ("") | Serie di due o più ritorni a capo | awk |
| Un’espressione regolare | Testo corrispondente alla regexp | gawk |
FNR indica quanti record sono stati letti dal file in input corrente;
NR indica quanti record sono stati letti in totale.
gawk imposta RT al testo individuato da RS.
awk divide
i record in singoli campi, chiamati $1, $2 e così
via. $0 è l’intero record, e NF indica quanti campi
contiene. Il metodo di default per dividere i campi utilizza i
caratteri di spazio vuoto.
$NF.
Ai campi possono anche essere assegnati dei valori, e questo implica che il
valore di $0 sia ricalcolato se ad esso si fa riferimento in seguito.
Fare un assegnamento a un campo con un numero maggiore di NF crea il
campo e ricostruisce il record, usando OFS per separare i campi.
Incrementare NF fa la stessa cosa. Decrementare NF scarta dei
campi e ricostruisce il record.
| Valore del separatore di campo | Campi separati … | awk / gawk |
|---|---|---|
FS == " " | Da serie di spazi vuoti | awk |
FS == un solo carattere | Da quel carattere | awk |
FS == espr. reg. | Dal testo che corrisponde alla regexp | awk |
FS == "" | Così ogni singolo carattere è un campo separato | gawk |
FIELDWIDTHS == lista di colonne | Basata sulla posizione del carattere | gawk |
FPAT == regexp | Dal testo attorno al testo corrispondente alla regexp | gawk |
FS può essere impostato dalla riga di comando con l’opzione
-F.
Si può fare la stessa cosa usando un assegnamento di variabile da riga di
comando.
PROCINFO["FS"] permette di sapere come i campi sono separati.
getline nelle sue diverse forme serve per leggere record aggiuntivi
provenienti dal flusso di input di default, da un file, o da una pipe
o da un coprocesso.
PROCINFO[file, "READ_TIMEOUT"] si può usare per impostare un
tempo limite alle operazioni di lettura da file.
awk standard;
gawk le ignora se non è in modalità POSIX.
Successivo: Esercizi su Input, Precedente: Directory su riga di comando, Su: Leggere file [Contenuti][Indice]