【发布时间】:2021-02-11 12:45:46
【问题描述】:
转换文件 input.csv。
id,location_id,organization_id,service_id,name,title,email,department
36,,,22,Joe Smith,third-party,john.smith@example.org,third-party Applications
18,11,,,Dave Genesy,Head of office,,
14,9,,,David Genesy,Library Director,,
22,14,,,Andres Espinoza, Manager Commanding Officer,,
-
(完成!)需要更新列名。姓名格式:姓名首字母大写,其他字母小写。
-
(完成!)需要使用域@abc.Email 格式更新列电子邮件:姓名和完整姓氏的第一个字母,小写
-
(未完成)具有相同 ID 的电子邮件应包含数字。示例:姓名 Max Houston,电子邮件 mhouston1@examples.com 等。
#!/bin/bash
inputfile="accounts.csv"
echo "id,location_id,organization_id,service_id,name,title,email,department" > accounts_new.csv
while IFS="," read -r rec_column1 rec_column2 rec_column3 rec_column4 rec_column5 rec_column6 rec_column7 rec_column8
do
surnametemp="${rec_column5:0:1}$(echo $rec_column5 | awk '{print $2}')"
namesurname=$(echo $rec_column5 | sed 's! .!\U&!g')
echo $rec_column1","$rec_column2","$rec_column3","$rec_column4","$namesurname","$rec_column6",""${surnametemp,,}@abc.com"","$rec_column8 >>accounts_new.csv
done < <(tail -n +2 $inputfile)
怎么做?
输出文件
id,location_id,organization_id,service_id,name,title,email,department
14,9,,,Dave Genesy,Library Director,dgenesy@abc.com,
14,9,,,David Genesy,Library Director,dgenesy2@abc.com,
15,9,,,maria Kramer,Library Divisions Manager,mkramer@abc.com,
26,18,,,Sharon Petersen,Administrator,spetersen@abc.com,
27,19,,,Shen Petersen,Administrator,spetersen2@abc.com,
【问题讨论】:
-
欢迎来到 SO 并特别感谢您在您的问题中付出的努力,继续努力。您能否在您的问题中发布预期输出的示例(请不要在 cmets 中)以使问题更加清晰。
-
添加结果,修复“经理,指挥官”