我正在尝试使用一个列并通过一个echo命令来管道它。如果可能的话,我想将它保持在一行或尽可能高效地完成。在研究时,我发现我必须使用单引号来扩展变量并转义双引号。
以下是我的尝试:
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>
答案 0 :(得分:1)
$ 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>