【发布时间】:2020-02-04 14:42:47
【问题描述】:
我有一个(非常大的)csv 文件,格式如下:
id;surname;firstname;aliases
1;Simpson;Homer;Homer Jay Simpson,Homer J. Simpson
2;Simpson;Bart;Bartholomew JoJo Simpson,Bartholomew Simpson
3;Krusty the Clown;;Herschel Shmoikel Pinchas Yerucham Krustofsky
4;Simpson;Lisa;
现在我想将其转换为以下格式:
id;name
1;Homer Simpson
1_1;Homer Jay Simpson
1_2;Homer J. Simpson
2;Bart Simpson
2_1;Bartholomew JoJo Simpson
2_2;Bartholomew Simpson
3;Krusty the Clown
3_1;Herschel Shmoikel Pinchas Yerucham Krustofsky
4;Lisa Simpson
出于性能原因,我想使用 awk 或其他 UNIX 命令行工具来实现。
使用awk -F ';' '{print $1, $3, $2}' 我可以分隔分号分隔的行。但是如何在awk 中使用awk 再次拆分逗号分隔的条目?
【问题讨论】:
-
你已经包含了一个有姓但没有名字的案例(Krusty the Clown),如果你可以有相反的,那么你也应该在你的例子中包含它。