[Tech] sed e script
Mattia Brunetti
mat.brunetti@tin.it
Ven 31 Ago 2001 05:20:51 CEST
Il 15:55, mercoled? 29 agosto 2001, hai scritto:
> sed 's/?/\è/; s/é/\é/;....' input > output
>
> senza la parentesi graffa (hai programmato in awk?) dovrebbe andare. Anche
> il /g mi sa che ? una opzione di ex (e perl) ma per sed non dovrebbe
> servire, dato che funziona a linee.
Mi sono riletto Appunti di Informatica Libera e il man di Sed.
Mi sembra di aver capito che questo qui e' buono.
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
#!/bin/bash
pagine=`ls *.html`
ba="backup"
#creo directory backup
mkdir $ba
for i in $pagine
do
#faccio backup
mv $i $ba
# {accentate} scritto da Simone Ballerini
sed '{
s/?/\è/g
s/é/\é/g
s/?/\ì/g
s/?/\ò/g
s/?/\à/g
s/?/\ù/g
}' $ba/$i > $i
done
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
Ed anche questo dovrebbe essere giusto.
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
#!/bin/bash
pagine=`ls *.html`
ba="backup"
#creo directory backup
mkdir $ba
for i in $pagine
do
#faccio backup
mv $i $ba
sed ' s/?/\è/g ; s/é/\é/g ; s/?/\ì/g ; s/?\ò/g ;
s/?/\à/g ; s/?/\ù/g' $ba/$i > $i
done
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
++++
Il parametro 'g' esegue l'operazione di rimpiazzo per tutte le corrispondenze
che si possono avere sulla stessa riga, senza limitarsi alla prima soltanto;
Da Appunti di Informatica Libera
++++
{ comandi }
Un raggruppamento di comandi pu? essere realizzato delimitandolo tra
parentesi graffe. Tuttavia, ?importante osservare che in questo caso, i
comandi vanno indicati ognuno in una riga differente, e la parentesi graffa
di chiusura deve apparire da sola in una riga. Di solito, non c'?? la
necessit? di usare un raggruppamento, dal momento che basta ripetere la
stessa selezione di righe con un altro comando.
Da Appunti di Informatica Libera
++++
Mi funzionano tutti e 2.
Bachi:
Occhio che ha un difettuccio; Cambia le accentate anche nei commenti!
>
> Non ? un problema di script, ma di sed (prova a leggere il manuale :)
Hai ragione. :-)
> --
> Franco Bagnoli (franchino) <bagnoli@dma.unifi.it>
Ciao
Mattia
--
Pace e prosperita' \\//
Key fingerprint = 1808 4888 A429 CE0A C794 90A5 27E5 52A0 ACF1 A8FF
ICQ # 107461752
Maggiori informazioni sulla lista
flug-tech