[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