如何使用bash将包含“Lastname,Firstname”的csv列分隔为两个不同的csv列?

如何使用bash将包含“Lastname,Firstname”的csv列分隔为两个不同的csv列?,bash,csv,awk,tr,Bash,Csv,Awk,Tr,我有一个有两列的csv。一列,包含姓、名和与该名称关联的数字。我希望第一列与奇怪的连接列被分开,并有CSV包含如下标题:名字,姓氏,关联号码 csv文件当前如下所示: "Dinkleberg, Mark", 245 "Persoli, Kyle", 246 "Liang, Emily", 247 我希望最终结果是这样的 Mark, Dinkleberg, 245 Kyle, Persoli, 246 Emily, Liang, 247 我获得结果的方法是在Excel中使用逗号分隔列功能,并将

我有一个有两列的csv。一列,包含姓、名和与该名称关联的数字。我希望第一列与奇怪的连接列被分开,并有CSV包含如下标题:名字,姓氏,关联号码

csv文件当前如下所示:

"Dinkleberg, Mark", 245
"Persoli, Kyle", 246
"Liang, Emily", 247
我希望最终结果是这样的

Mark, Dinkleberg, 245
Kyle, Persoli, 246
Emily, Liang, 247
我获得结果的方法是在Excel中使用逗号分隔列功能,并将与名字相关联的空格替换为零。这是一个非常乏味的过程,我想看看如何用Bash编写解决方案

带有:

或使用和csvcut:

输出:
如果第一个或第二个名称中有多余的空格,则此操作将不起作用

只需删除?tr-d \?我们很乐意看到您迄今为止拥有的任何代码或研究成果,以便读者能够在答案中建立这些代码或研究成果。@halfer我通过使用excel和textedit替换获得了我的结果,并以最非正统的方式得到了我想要的结果。因此我没有剧本。我确信有一个简单的bash系列可以实现我想要的,所以我问了。
awk -F'[ ",]' '{print $4, $2, $7}' OFS=', ' file
tr -d '"' file | csvcut -d ',' -c 2,1,3
Mark, Dinkleberg, 245
Kyle, Persoli, 246
Emily, Liang, 247