linux - 将 html 标记插入 csv 文件中的特定列
问题描述
我试图修改 csv 文件中的一列 Csv 文件看起来像
"Name", "Gender", "Link"
"Josh", "Male", "https://url.com/josh"
"Samanta", "Female", "https://url.com/samanta"
主要任务:为所有链接添加 Html 标签。
csv 外观示例:
"Name", "Gender", "Link"
"Josh", "Male", "<a href="https://url.com/josh"/a>"
"Samanta", "Female", "<a href="https://url.com/samanta"/a>"
我不完全理解它在 awk 或 sed 中是如何工作的
提前致谢
解决方案
使用 awk,这是一个解决方案:
cat text.csv | awk 'NR>1 && NF{ OFS=","; print $1 $2 "<a href=\"" $3 "\">" substr($1, 1, length($1)-1) "<a/>" }'
NR>1
- 对于大于 1 的行号为真。
NF
- 字段数,空行为 0/false。
OFS=","
- 输出字段分隔符,以逗号分隔。
print
- 你可以穿插$1
变量"quoted strings"
substr()
- 正如我使用<a>$1</a>
的那样,链接有一个名称,我修剪了 awk 保留在$1
变量中的尾随逗号。
awk
&上的其他一些类似的 stackoverflow 链接csv
,建议如下cut
:
extract-specific-columns-from-delimited-file-using-awk,how-to-print-a-range-of-columns-in-a-csv-in- awk,如何提取 csv 文件的一列
推荐阅读
- python - 带有“&”的 imaplib 邮箱无法打开
- c# - 如何使用 C# 在 Unity 3D 中随机时间(相同位置)生成敌人?
- jms - DLQ 消息乱序
- javascript - 如何在不使用 Math.cbrt() 函数的情况下在 JavaScript 中计算立方根?如何用递归计算?
- javascript - 是否可以垂直拆分主要的 25%/50%/25%?
- php - 在购物车和订单项目名称下显示 woocommerce 产品自定义字段
- python - Scrapy 没有抓取任何 URL
- django - Django表单如何在循环中动态呈现字段
- java - 通过 Lombok 将返回类型绑定到超类型
- python - tensorflow:占位符形状的循环值[无]