我有两个CSV文件需要帮助映射/合并:
CSV文件1:
"ID","Name","Flavor"
"45fc754d-6a9b-4bde-b7ad-be91ae60f582","test1","m1.medium"
"83dbc739-e436-4c9f-a561-c5b40a3a6da5","test2","m1.tiny"
"ef68fcf3-f624-416d-a59b-bb8f1aa2a769","test3","m1.medium"
CSV文件2:
"Name","RAM","Disk","VCPUs"
"m1.medium",4096,40,2
"m1.xlarge",16384,160,8
"m1.tiny",128,1,1
理想的输出是:
"ID","Name","Flavor","RAM","Disk","VCPUs"
"45fc754d-6a9b-4bde-b7ad-be91ae60f582","test1","m1.medium",4096,40,2
"83dbc739-e436-4c9f-a561-c5b40a3a6da5","test2","m1.tiny",128,1,1
"ef68fcf3-f624-416d-a59b-bb8f1aa2a769","test3","m1.medium",4096,40,2
请注意,CSV文件1中的Flavor
和CSV文件2中的Name
是相同的。名称上的差异是用于提取信息的工具不同的结果
还要注意,CSV文件2有一个flavor/name
{m1.xlarge
{
我整天都在做这件事,结果好坏参半。任何想法都将不胜感激
您可以使用此
awk
:类似这样的东西,但你必须玩一下报价选项,看看你喜欢什么
输出:
如果我正确理解了您的问题,并且您希望根据} 很容易做到这一点(您可能需要install first):
Flavor
列中的字符串将第一个文件中的行与第二个csv中Name
列中具有该值的行进行匹配,那么使用^{您还必须删除重复的
Name
列,您可以再次使用xsv
执行此操作:相关问题 更多 >
编程相关推荐