[PLUTO-tech] script per ripulire un doc xsl-fo mal formattato
Gian Uberto Lauri
GianUberto.Lauri a eng.it
Mar 30 Mar 2004 22:25:46 CEST
>>>>> "LCD" == Luca Campo Dall'Orto <lucagraph a libero.it> writes:
LCD> ...non mio, che funzionerebbe, ma purtroppo mi toglie anche gli
LCD> altri eventuali attributi fino alla chiusura del tag.
Caaaaaavoli, avevo preparato male il test e non me ne ero accorto.
Questo dovrebbe funzionare (cavoli, sono le 22:10 e mi sto perdendo
gli anime di mtv.
#-----------------------------------[inizio]-------------------
#!/bin/bash
#
# *.xsl e` un qualcosa che ti elenca tutti i file da modificare,
for i in *.xsl
do
cp $i $i".tmp"
# Il trucco e` fare una regexp con due parti, il prima (\1) e il dopo (\2)
# l'attributo ripetuto.
sed -e 's/\(<[^>]*text-decoration="[^>]*"[^>]*\)text-decoration="[^"]*"\([^>]*>\)/\1\2/g' < $i".tmp" > $i
rm $i".tmp"
done
# Nota, la regexp e` stata sviluppata in 10 minuti sotto Emacs e poi
# provata con sed.
#-----------------------------------[fine]---------------------
Era sbagliata l'espressione regolare che faceva un match troppo ampio
(le regexp tendono ad essere voraci ed a tornare il match piu` grosso.
Ho messo come condizione per identificare il secondo attributo (quello
da togliere)
text-decoration="[^"]*"
invece che
text-decoration="[^>]*"
e mi pare funzioni.
Ah, quando riporti uno script, attento a non inserire a capo spurii
/\ ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
//--\ | | \| | Integralista GNUslamico e fancazzista
\/
Maggiori informazioni sulla lista
pluto-tech