[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [BASH] script di sostituzione tra tag



Gabriele Pongelli wrote:

forse è questo che indendevi?

$ echo "[code] abc [i]def[/i] ghi [/code]" | sed \ "s/\(\[code\][^\[]*\)\[i\]\([^\[]*\)\[\/i\]\([^\[]*\[\/code\]\)/\1<\2>\3/"
si intendevo questo, funziona come volevo però applicando al mio file non funziona per nulla :-(

ecco un pezzo del file in questione
[code][b]# ls /proc/acpi/[/b]
alarm dsdt embedded_controller event fadt fan info power_resource processor thermal_zone wakeup[/code]
[code][b]# cat /proc/acpi/embedded_controller/EC0/info [/b]
gpe bit:                 0x10
 [...]

per forza che non funziona ...
Prima di tutto qui non vedo la sequenza da te indicata (mancano i [i]..[/i]) e poi alcuni tag sembrano essere distribuiti su più righe: sed lavora solo sulle singole righe

prova così

Creo una stringa su più righe:
$ echo -e "[code] abc\n [i]def\n[/i]\n ghi [/code]"

[code] abc
 <def
>
 ghi [/code]


applico il cambio su più righe (quello che vedi qui sotto devi metterlo tutto su una riga):
$ echo -e "[code] abc\n [i]def\n[/i]\n ghi [/code]" \
| tr "\n" "æ" | sed \
"s/\(\[code\][^\[]*\)\[i\]\([^\[]*\)\[\/i\]\([^\[]*\[\/code\]\)/\
\1<\2>\3/" | tr "æ" "\n"

[code] abc
 <def
>
 ghi [/code]


Ciao
Davide

--
Dizionari: http://linguistico.sourceforge.net/wiki
Browser: http://www.mozilla.org/products/firefox
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook



Reply to: