Precedente: Funzione readfile, Su: Funzioni di tipo generale [Contenuti][Indice]
Michael Brennan propone il seguente modello di programma, da lui usato spesso:
#! /bin/sh awkp=' … ' specifica_programma_da_eseguire | awk "$awkp" | /bin/sh
Per esempio, un suo programma chiamato flac-edit73 ha questa forma:
$ flac-edit -song="Whoope! That's Great" file.flac
flac-edit genera in output il seguente script, da passare alla
shell (/bin/sh) per essere eseguito:
chmod +w file.flac metaflac --remove-tag=TITLE file.flac LANG=en_US.88591 metaflac --set-tag=TITLE='Whoope! That'"'"'s Great' file.flac chmod -w file.flac
Si noti la necessità di gestire gli apici nello script da passare alla shell.
La funzione
shell_quote() li prepara nel formato richiesto.
SINGLE è la stringa di un solo
carattere "'" e QSINGLE è la stringa di tre caratteri
"\"'\"":
# shell_quote --- pone tra apici un argomento da passare alla shell
function shell_quote(s, # parametro
SINGLE, QSINGLE, i, X, n, ret) # variabili locali
{
if (s == "")
return "\"\""
SINGLE = "\x27" # apice singolo
QSINGLE = "\"\x27\"" # apice singolo incapsulato
n = split(s, X, SINGLE)
ret = SINGLE X[1] SINGLE
for (i = 2; i <= n; i++)
ret = ret QSINGLE SINGLE X[i] SINGLE
return ret
}
I
file con suffisso flac contengono normalmente dei brani musicali.
metaflac è un programma che permette di modificare
le informazioni [metadati] contenute all’inizio di un file di tipo
flac.