On Thu, Sep 18, 2008 at 09:06:54AM -0500, Matt Zagrabelny wrote: > On Thu, 2008-09-18 at 14:29 +0100, michael wrote: > > I've been struggling to get this to work but I think 'sed' should be > > able to do it if I could just get some help with the correct > > incantation... > > > > > > given a file with many strings, include many of the form > > <a href="some url or other">www</a> > > > > I wish each to be transformed to > > <a href="some url or other">some url or other</a> > > > > ie so literal 'www' is replaced with the actual URL for each > > occurance... > > Well, it's not 'sed' (I prefer the PCRE), but this perl script ought to > get you off the ground. > > #!/usr/bin/perl > > use strict; > > while (<>) { > chomp; > if (my ($url) = /<a href="([^"]*?)">www<\/a>/) { > print "<a href=\"$url\">$url</a>\n"; > } > }
That is: perl -p -e 's/<a href="([^"]*)">www<\/a>/<a href=\"$1\">$1<\/a>/' But this one always prints, unlike yours that only prints if it has a hit. -- Tzafrir Cohen | [EMAIL PROTECTED] | VIM is http://tzafrir.org.il | | a Mutt's [EMAIL PROTECTED] | | best ICQ# 16849754 | | friend -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]