bash - 如何使用 bash 命令修改 csv 文件以添加新标头?
问题描述
您好,目前我有一个 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 脚本谢谢
解决方案
awk 可以轻松完成这项工作,类似于@kvantour 链接:
awk 'BEGIN{FS = OFS = ","} {$8 = $8 FS (NR == 1 ? "budget" : "true")}1'
其中FS
:字段分隔符,OFS
:输出字段分隔符,NR
:当前行号
推荐阅读
- ms-access - MS Access - 通过字段中的值重复表中的记录
- amazon-web-services - 什么是用于 S3 复制配置的 cloudformation 脚本
- django - 从 django 获取用于 chrome 扩展的 CSRF 令牌
- php - 考虑冲突 php5 与 php7.3
- java - 如何将值存储到大小不断变化的数组中?
- php - 如何在 phprunner 打印机友好事件中获取选定的行数据?
- python - Pandas 在键中与 NaN 合并
- elasticsearch - 使用 Logstash 将 Geo_shape 添加到 Elasticsearch
- python - 我可以使用颜色的十六进制代码来检索 spotify 播放列表吗
- javascript - 创建桌面应用程序的新窗口时,WinAppDriver 找不到元素