Bash
使用 bash/sed 重新格式化元素列表
我有一個包含如下列表的 CSV 文件:
URL,Domain,anchor https://example1.com,Example1,Category1
我需要將其重新格式化為 HTML,如下所示:
<li><a href="https://example1.com" title="Category1"> Example1 </a></li>
我一直在修補 sed 和 awk 一段時間,但沒有成功。到目前為止,我最好的方法是在之前插入第一個字元串
https
並從那里手動工作。所以我想知道是否有更好更快的方法來做到這一點。
我在測試文件中添加了一個額外的行,稱為
eg.csv
:URL,Domain,anchor https://example1.com,Example1,Category1 https://unix.stackexchange.com/questions/693322/reformatting-a-list-of-elements-using-bash-sed,This question,Here
然後編寫了這個基本的 AWK 腳本:
#!/bin/bash awk -F "," ' NR == 1 { next } # Ignore titles { printf( "<li><a href=\"%s\" title=\"%s\"> %s </a></li>\n", $1, $3, $2 ) } ' <eg.csv
結果是:
$ ./fmt <li><a href="https://example1.com" title="Category1"> Example1 </a></li> <li><a href="https://unix.stackexchange.com/questions/693322/reformatting-a-list-of-elements-using-bash-sed" title="Here"> This question </a></li>
我希望能滿足您的需求。