[PLUTO-tech] < da PLUTO PD> script per ripulire un doc xsl-fo mal formattato

Gian Uberto Lauri GianUberto.Lauri a eng.it
Mar 30 Mar 2004 20:12:05 CEST


Seguendo   un'indicazione  esplicita   di  Andrea   Brugiolo   che  mi
sculacciava a ragione  per aver inviato il messaggio  solo sulla lista
patavina:

>>>>> "AB" == Andrea Brugiolo <andrea a pluto.it> writes:

AB> Perche' tutte queste belle cose, come tanti altri quesiti tecnici che
AB> vedo passare sempre piu` di frequente, non le postate su pluto-tech
AB> invece che su pluto-pd, in modo che le possa vedere e all'occorrenza
AB> intervenire anche tutto il resto del mondo invece che solo i padovani?
AB> Eh? Perche'...?  Perche'........?  PERCHE`?????? :-)

ricopio questo messaggio:

>>>>> "LCD" == Luca Campo Dall'Orto <lucagraph a libero.it> writes:

LCD> Ciao a  tutti, ho un problemino:  devo togliere dai tag  <> di un
LCD> documento xsl-fo i doppioni degli attributi text-decoration:

LCD> cioč all'interno delle due <> vorrei rimanesse solo il primo tag,
                                                                  ^^^

Intenti attributo, vero ?
                                   
LCD> e  che  l'eventuale  seconda  ripetizione,  con  argomento  anche
LCD> diverso,  venisse cancellata.  Tutto questo  č possibile  con uno
LCD> script da shell?

Intendi dire passare da una cosa come 

<tag xids text-decoration="prima decoration" ulla yalla bagulla="cipolla" text-decoration="seconda" ueppppa yag>

a una cosa come 

<tag xids text-decoration="prima decoration" ulla yalla bagulla="cipolla"  ueppppa yag>

in modo automatico ?

Si puo` fare.

#-----------------------------------[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]---------------------

Attenzione: ho testato solo la regexp, non il resto dello script.

 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico e fancazzista 
\/







Maggiori informazioni sulla lista pluto-tech