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

Re: Espressioni regolari in bash



shacky ha scritto:
>> Notare però che sed agisce sulle righe, quindi la stringa da cercare
>> deve essere tutta su una riga e quindi non spezzata su più righe.
> 
> Grazie.
> Allora come posso infilare il contenuto di un file in una stringa,
> ovviamente con i paragrafi contrassegnati con "\n", e successivamente
> riscrivere la stringa modificata in un file?
> 
> 

Puoi fare il tuo template come maxi stringa con \n invece che gli a capo
veri e propri e poi potresti usare echo -e `cat template` > file_finale.

Però credo che tutto ciò non ti sia necessario, quando ti è stato
scritto il discorso delle righe spezzate non significa che sed lavora su
files composti da un'unica riga, significa che analizza una riga per
volta, quindi se tu hai un file come quello del tuo esempio, cioè:

parametro1 = {segnaposto1}
parametro2 = {segnaposto2}
parametro3 = {segnaposto3}

e fai
$ cat template | sed 's/segnaposto2/valore/'

ottieni in output

parametro1 = {segnaposto1}
parametro2 = {valore}
parametro3 = {segnaposto3}

quindi credo che questo possa fare al tuo caso.

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.

Ciao.

-- 
Fabio Napoleoni
f.napoleoni@email.it

****************************************************************
 "Computer Science is no more about computers than astronomy is
 about telescopes"
                                             Edsger W. Dijkstra
****************************************************************



Reply to: