Shell 将CSV更改为键值(KV)格式的脚本
我有一个CSV文件,数据如下: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 我想要以下
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