Shell 将CSV更改为键值(KV)格式的脚本

Shell 将CSV更改为键值(KV)格式的脚本,shell,csv,Shell,Csv,我有一个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 我想要以下

我有一个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格式那样获得输出?

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


-F“,“
是字段分隔符,
FNR>1
跳过第一个标题行,
$1
是第一列,依此类推。一般来说,是的,这是可能的。更多的信息可能会有帮助,比如:你已经试过了吗?或者你对特定的shell感兴趣,比如bash?是否需要一些命令,如cat、sed、awk、pr等?您好。是的,可以是korn或bourne shell。sed/awk会很有帮助。这里还询问:
awk -F"," 'FNR > 1 {print $1","$2",tblsps_name:"$3",Cur_size:"$4",Max_size:"$5",Used:"$6",Free:"$7",Percentage:"$8}' your.csv