Skip to main content
added HTML encoding alternative
Source Link
manatwork
  • 32k
  • 8
  • 104
  • 93

Strictly what you asked for:

sed 's/\([^:]\+\)/<a href="\1">\1<\/a>/' input.txt
awk -F ':' -vOFS=':' '$1="<a href=\""$1"\">"$1"</a>"' input.txt
while IFS=':' read -r url text; do echo "<a href=\"$url\">$url</a>:$text"; done < input.txt

But for real HTML generating you also have to take care of HTML encoding:

perl -MHTML::Entities -pe 's!([^:]+)(.*)!"<a href=\"".($t=encode_entities($1))."\">$t".encode_entities($2)!e' input.txt
sed 's/\([^:]\+\)/<a href="\1">\1<\/a>/' input.txt
awk -F ':' -vOFS=':' '$1="<a href=\""$1"\">"$1"</a>"' input.txt
while IFS=':' read -r url text; do echo "<a href=\"$url\">$url</a>:$text"; done < input.txt

Strictly what you asked for:

sed 's/\([^:]\+\)/<a href="\1">\1<\/a>/' input.txt
awk -F ':' -vOFS=':' '$1="<a href=\""$1"\">"$1"</a>"' input.txt
while IFS=':' read -r url text; do echo "<a href=\"$url\">$url</a>:$text"; done < input.txt

But for real HTML generating you also have to take care of HTML encoding:

perl -MHTML::Entities -pe 's!([^:]+)(.*)!"<a href=\"".($t=encode_entities($1))."\">$t".encode_entities($2)!e' input.txt
Source Link
manatwork
  • 32k
  • 8
  • 104
  • 93

sed 's/\([^:]\+\)/<a href="\1">\1<\/a>/' input.txt
awk -F ':' -vOFS=':' '$1="<a href=\""$1"\">"$1"</a>"' input.txt
while IFS=':' read -r url text; do echo "<a href=\"$url\">$url</a>:$text"; done < input.txt