Как я могу изменить файл CSV, чтобы добавить новый заголовок с помощью команды Bash? - PullRequest
0 голосов
/ 02 июля 2019

Привет в настоящее время у меня есть CSV-файл. Я хочу добавить новое поле заголовка с именем бюджета и значения как 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,

как я могу использовать сценарии оболочки спасибо

1 Ответ

0 голосов
/ 02 июля 2019

awk может легко выполнить работу, аналогично ссылке @kvantour:

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

где FS: разделитель полей, OFS: разделитель полей вывода, NR: номер текущей строки

Пример: https://ideone.com/oRQqhi

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...