Pagina 1 di 1

[RISOLTO]sed e loop

Inviato: lun 31 gen 2011, 13:36
da metrofox
Salve ragazzi, allora ho scritto uno script che per un file preso in input e una parola di ricerca in questo file la rimpiazza con un'altra e in più mette il numero del contatore come suffisso del nome... Ad esempio io ho un file del tipo

Codice: Seleziona tutto

immagine.jpg
immagine.jpg
    immagine.jpg
e queste "immagini" voglio rimpiazzarle con "foto_$i"

Allora con sed non funziona in quanto

Codice: Seleziona tutto

sed -e s/immagine/foto_$i/g file.txt
Rimpiazza tutto con:

Codice: Seleziona tutto

immagine1.jpg
immagine1.jpg
    immagine1.jpg
e non come voglio io:

Codice: Seleziona tutto

immagine1.jpg
immagine2.jpg
    immagine.3jpg
Come mai?

Re: sed e loop

Inviato: lun 31 gen 2011, 13:57
da targzeta
Con sed è difficile incrimentare un contatore. Puoi utilizzare awk meglio:

Codice: Seleziona tutto

awk 'BEGIN{i=1};/immagine/{sub("immagine","foto" i++)};{print}' file.txt
Emanuele

Re: sed e loop

Inviato: lun 31 gen 2011, 21:17
da metrofox
Risolto, grazie mille spina :-)