On 19/06/2013 10:44, MaX wrote:
con sed ho trovato questo problema:
$ echo '<img src="http://url-immagine">' | sed 's/<img
src=".*">/[img].*[\/img]/g'
e il risultato purtroppo è questo:
[img].*[/img]
invece di
[img]"http://url-immagine[/img]
alcune idee?
Hai dimenticato di catturare la parte che ti interessa con \( \) e di
ristamparlo nell'output con \1:
$ echo '<img src="http://url-immagine">' | sed 's/<img
src="\(.*\)">/[img]\1[\/img]/g'
Visto che il pattern .* è greedy (si espande il più possibile fino al
carattere \n), dovresti cercare [^"] cioè "qualsiasi carattere tranne le
virgolette":
$ echo '<img src="http://url-immagine">' | sed 's/<img
src="\([^"]*\)">/[img]\1[\/img]/g'
E già che ci sei, converrebbe prevedere la presenza di altre coppie
'key="value"' prima di '>', le quali andranno scartate:
$ echo '<img src="http://url-immagine" foo="bar">' | sed 's/<img
src="\([^"]*\)"[^>]*>/[img]\1[\/img]/g'
--
Kind regards,
Marco Romano.
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org
To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/51c1aae9.1050...@gmail.com