Re: Espressioni regolari in bash
Davide Prina ha scritto:
> shacky wrote:
>>> P.s. ho fatto un esempio breve perché sono di corsa e non ricordo come
>>> si passano + expr a sed, sicuramente lo trovi in man sed, in ogni caso
>>> se c'è qualcosa che non ti è chiaro chiedi pure.
>>
>> E' un'oretta che sfoglio online la documentazione di sed senza però
>> trovare come sia possibile unire più espressioni regolari in un unico
>> comando.
>
> la cosa più semplice è mettere più sed in coda con pipe
> sed "..." | sed "..."
Ovviamente il metodo descritto è più che adatto allo scopo, solo per
completezza aggiungo che puoi usare l'opzione -e "..." più volte sulla
stessa riga di comando per ottenere lo stesso scopo. Ad esempio:
echo -e "riga1\nriga2\nriga3" | sed -e 's/riga1/nuovariga1/' -e
's/riga2/nuovariga2/' -e 's/riga3/nuovariga3/'
Se invece ti è più comodo puoi salvare le sostituzioni in uno o più
files ed usare l'opzione -f.
>> Shorewall, e inserire le direttive non all'ultima riga (basterebbe
>> quindi un "echo "blabla" >> nomefile") ma prima di una riga "#LAST
>> LINE", senza dare per scontato che questa sia l'ultima del file
>
> sed è un editor a linea di comando!
>
> Ecco un esempio:
> $ echo -e "Ciao\n#line1\nultimariga" | sed "s/\(#line1\)/miariga\n\1/"
Per quanto riguarda questa parte ti ha già risposto in maniera
esauriente Davide.
Ciao.
--
Fabio Napoleoni
f.napoleoni@email.it
****************************************************************
"Computer Science is no more about computers than astronomy is
about telescopes"
Edsger W. Dijkstra
****************************************************************
Reply to: