我该如何修改csv文件以使用bash命令添加新头文件?

时间:2019-07-02 11:00:21

标签: bash shell

您好,我目前有一个csv文件。我想为所有记录添加一个名为budget和values为True的新标题字段。这是我的csv文件。

id,address1,address2,address3,address4,addressprofile,administrator,averageclickthroughrate,contactnumber,contractid,country,createdby,createdon,currency,customercontactnumber,customerid,defaultlanguage,features,internal,inventories,lastupdated,lastupdatedby,logo,name,status,testmessagecontactlist,testmessagelimit,usedefaultclickthroughrate,zipcode
d4385ff7-247f-407a-97c6-366d8128c6c7,,,,,eb0137fc-b279-11e8-8753-570ce0b5ef9b,92059277-e2ad-4cf0-a941-0f0b52bf3421,40,,,,ab4e0287-6973-4eec-bd03-cf3669c535d0,2019-01-08 08:48:36.353+0000,,,,b04265e6-c114-470c-8bb0-d10879655ec9,[],True,"[bdf7fad0-b8cd-4a9a-9c9d-48261fd5e7c7, be25104b-90d1-4076-bb4b-44c756d06d20]",2019-04-05 09:38:15.322+0000,3363a3ad-f52a-4a8b-bc52-7a069bab31d9,,OTT,ACTIVE,ca6b6808-111c-49ac-90ac-44078e8e3db0,5,True,

这是我期望的以下结果。

id,address1,address2,address3,address4,addressprofile,administrator,averageclickthroughrate,budget,contactnumber,contractid,country,createdby,createdon,currency,customercontactnumber,customerid,defaultlanguage,features,internal,inventories,lastupdated,lastupdatedby,logo,name,status,testmessagecontactlist,testmessagelimit,usedefaultclickthroughrate,zipcode
d4385ff7-247f-407a-97c6-366d8128c6c7,,,,,eb0137fc-b279-11e8-8753-570ce0b5ef9b,92059277-e2ad-4cf0-a941-0f0b52bf3421,40,,True,,,ab4e0287-6973-4eec-bd03-cf3669c535d0,2019-01-08 08:48:36.353+0000,,,,b04265e6-c114-470c-8bb0-d10879655ec9,[],True,"[bdf7fad0-b8cd-4a9a-9c9d-48261fd5e7c7, be25104b-90d1-4076-bb4b-44c756d06d20]",2019-04-05 09:38:15.322+0000,3363a3ad-f52a-4a8b-bc52-7a069bab31d9,,OTT,ACTIVE,ca6b6808-111c-49ac-90ac-44078e8e3db0,5,True,

我该如何使用Shell脚本 谢谢

1 个答案:

答案 0 :(得分:0)

awk可以轻松完成这项工作,类似于@kvantour链接:

awk 'BEGIN{FS = OFS = ","} {$8 = $8 FS (NR == 1 ? "budget" : "true")}1'

其中FS:字段分隔符,OFS:输出字段分隔符,NR:当前行号

示例:https://ideone.com/oRQqhi