首页 > 解决方案 > 将 CSV 更改为键值 (KV) 格式的脚本

问题描述

我有一个 CSV 文件,其数据如下:

row_identifier,DBNAME,tblsps_name,Cur_size,Max_size,Used,Free,Percentage
tablespace,MRETF,RERETOSB15_DATA,51200,45600,14284,31316,31
tablespace,MRETF,SPOTLIGHT_DATA,500,2000,259,1741,13
tablespace,MRETF,DDLAUDITING,25,25,2,23,8

我想要以下格式的输出:

tablespace,MRETF,tblsps_name:RERETOSB15_DATA,Cur_size:51200,Max_size:45600,Used:14284,Free:31316,Percentage:31
tablespace,MRETF,tblsps_name:SPOTLIGHT_DATA,Cur_size:500,Max_size:2000,Used:259,Free:1741,Percentage:13

等等..

这是否可以获得像上面的 key:value 格式的输出?

标签: shellcsv

解决方案


下次至少假装你尝试了一些东西;-)

awk -F"," 'FNR > 1 {print $1","$2",tblsps_name:"$3",Cur_size:"$4",Max_size:"$5",Used:"$6",Free:"$7",Percentage:"$8}' your.csv

-F","是字段分隔符,FNR > 1跳过第一个标题行,$1是第一列,依此类推


推荐阅读