Precedente: Sommario dei programmi, Su: Programmi di esempio [Contenuti][Indice]
split()
con ""
come separatore.
awk
che non prevedono IGNORECASE
usando tolower()
sulla riga e nei criteri di ricerca. In una nota a
piè di pagina è anche detto che questa soluzione ha un problema: in output
viene scritta la riga tradotta (a lettere minuscole), e non quella originale.
Risolvere questo problema.
id
accetta opzioni che controllano quali
informazioni stampare. Modificare la versione awk
(vedi la sezione Stampare informazioni sull’utente) per accettare gli stessi argomenti e funzionare allo
stesso modo.
split.awk
(vedi la sezione Suddividere in pezzi un file grosso) presuppone che le
lettere siano contigue nella codifica dei caratteri,
il che non è vero per sistemi che usano la codifica EBCDIC.
Risolvere questo problema.
(Suggerimento: Considerare un modo diverso di analizzare l’alfabeto,
senza appoggiarsi sulle funzioni ord()
e chr()
.)
FNR
nella funziona a_fine_file()
?
Suggerimento: Esaminare il codice
in
Trovare i limiti dei file-dati.
translate
(vedi la sezione Rimpiazzare o eliminare caratteri) è farraginosa usando le funzione standard
awk
. Poiché gawk
può dividere stringhe in caratteri
singoli usando come separatore ""
, come si potrebbe usare questa
funzionalità per semplificare il programma?
gawk
avesse a disposizione la funzione
gensub()
. Usarla per semplificare il codice.
BEGIN { stringa = ARGV[1] rimpiazzo = ARGV[2] ARGV[1] = ARGV[2] = "" } { gsub(stringa, rimpiazzo); print }
sed
?
getline
nella funzione percorso()
, mentre si
controlla l’accessibilità del file da usare nel programma principale,
semplifica notevolmente le cose. Quale problema è peraltro generato così
facendo?
Questo file contiene un insieme di funzioni di libreria di default, come
getopt()
e assert()
.
Questo file contiene funzioni di libreria che sono specifiche di
un sito o di un’installazione; cioè, funzioni sviluppate localmente.
Mantenere due file separati consente a default.awk di essere
modificato in seguito a nuove versioni di gawk
, senza che
l’amministratore di sistema debba ogni volta aggiornarlo aggiungendo le
funzioni locali.
Un utente
ha suggerito che gawk
venga modificato per leggere automaticamente
questi file alla partenza. Piuttosto, sarebbe molto semplice
modificare igawk
per farlo. Poiché igawk
è capace di
elaborare direttive @include
nidificate, default.awk potrebbe contenere semplicemente la lista di
direttive @include
con le funzioni di libreria desiderate.
Fare questa modifica.
sort
.
Questo è la definizione trovata usando
define: state machine
come chiave di ricerca in Google.
Precedente: Sommario dei programmi, Su: Programmi di esempio [Contenuti][Indice]