如何用variablesreplaceAwk命令的pipe道输出

我试图拿一个列,并通过回声命令pipe道。 如果可能的话,我想保持一行,或尽可能有效地做到这一点。 在研究的同时,我发现我必须使用单引号来扩展variables并避免双引号。

这是我正在尝试:

awk -F ',' '{print $2}' file1.txt | while read line; do echo "<href=\"'${i}'\">'${i}'</a>"; done 

但是,我一直得到的行数比单行的输出。 如果你知道如何在场地4的每一条线上,这将是非常有帮助的。

FILE1.TXT:

 Hello,http://example1.com Hello,http://example2.com Hello,http://example3.com 

期望的输出:

 <href="http://example1.com">http://example1.com</a> <href="http://example2.com">http://example2.com</a> <href="http://example3.com">http://example3.com</a> 

 $ awk -F, '{printf "<href=\"%s\">%s</a>\n", $2, $2}' file <href="http://example1.com">http://example1.com</a> <href="http://example2.com">http://example2.com</a> <href="http://example3.com">http://example3.com</a> 

或稍微短暂但不太稳健:

 $ sed 's/.*,\(.*\)/<href="\1">\1<\/a>/' file <href="http://example1.com">http://example1.com</a> <href="http://example2.com">http://example2.com</a> <href="http://example3.com">http://example3.com</a>