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

Re: aiuto con sed/awk



grande!!! :)

Il 19/06/13, Marco Romano<romano.san@gmail.com> ha scritto:
> 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-REQUEST@lists.debian.org con oggetto "unsubscribe". Per
> problemi inviare un email in INGLESE a listmaster@lists.debian.org
>
> To UNSUBSCRIBE, email to debian-italian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
> Archive: [🔎] 51C1AAE9.1050708@gmail.com">http://lists.debian.org/[🔎] 51C1AAE9.1050708@gmail.com
>
>


-- 
ciao,
MaX


Reply to: