I don't know how to modify the: sed -r 's,.*(http://[^ \"$]+).*,<a href=\"\1\">\1</a>,' command, to not just: $ echo "test string http://somewhere.uk/ test" | sed -r 's,.*(http://[^ \"$]+).*,<a href=\"\1\">\1</a>,' <a href="http://somewhere.uk/">http://somewhere.uk/</a> rather output this: test string <a href="http://somewhere.uk/">http://somewhere.uk/</a> test can some perl/bash gods help me? :)