maledetto awk
usa le funzioni match(), sub() e substr di awk e il RS per definire i
blocchi di righe da elaborare.
Comunque, Awk fa un po' schifo come pattern-matching. E' buono per formati
tabulati, ma per pattern matching complicati e' una pena. (Se sei fortunato,
ti risponde /dev/null che e' bravissimo.)
Sed e' molto meglio come pattern-matching e sostituzione e Perl unisce il
pattern-matching di sed (e lo estende) alla struttura di scripting di awk,
che ti permette di salvare i pattern in variabili e riusarle, quello che
serve a te.
Perl si impara sull'autobus leggendo "Learning Perl", collana O'Reilly, per
la tua domanda il cap 7 potrebbe bastare.
Detto questo, (che nun te serve a gnente!) proverei le caratteristiche
multilinea di sed, per isolare i blocchi, e i pattern-matching all'interno
del blocco.
/Name="\([a-zA-Z0-9].*\)"/{
s//\1/
}
N
etcetera...Usa N,H,P,D per le caratteristiche multilinea.
ciao e scusa se non ti ho dato una soluzione...
a.
--
alberto.
Reply to: