[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: