Re: [OT] piccolo aiuto di scripting
* On Fri, 19 Feb 2010, at 18:30 +0100, Luca Costantino wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> buona sera lista
>
> mi trovo a dover eseguire a ripetizione dei comandi, molto simili tra
> loro, tutti simili a questo[1]
>
> [1]cat FILE_DI_INPUT | PROGRAMMA_DI_ANALISI PAR1 PAR2 PAR3 > FILE_DI_OUTPUT
>
> dove FILE_DI_INPUT e PROGRAMMA_DI_ANALISI sono parametri fissi, mentre
> PAR1, PAR2, PAR3 sono dei parametri che cambiano, e FILE_DI_OUTPUT è
> la semplice concatenazione di PAR1-PAR2
>
> avevo pensato ad una sintassi del tipo SCRIPT par1,par2,par3
> par1,par2,par3 par1,par2,par3 ... dove ogni tripletta di parametri
> specifica completamente una esecuzione del comando[1]
Supponendo che tu abbia separato i gruppi di parametri con uno spazio e
i parametri tra loro con una virgola questo è un esempio di ciclo che fa
ciò che vuoi, da adattare opportunamente:
---------
#!/bin/sh
while [ "$#" -gt "0" ]; do
parametri=$1
par1=${parametri%%,*}
parametri=${parametri#*,}
par2=${parametri%%,*}
parametri=${parametri#*,}
par3=${parametri}
echo cat FILE \| mio-comando --$par1 --$par2 --$par3 \> $par1$par2
shift
done
---------
quando viene eseguito fornisce il seguente risultato:
$ ./prova a1,a2,a3 b1,b2,b3 c1,c2,c3
cat FILE | mio-comando --a1 --a2 --a3 > a1a2
cat FILE | mio-comando --b1 --b2 --b3 > b1b2
cat FILE | mio-comando --c1 --c2 --c3 > c1c2
$
Saluti.
alfredo
Reply to: