gpt4 book ai didi

bash - 合并一列时将 .csv 文件与 BASH 进行比较

转载 作者:行者123 更新时间:2023-12-04 01:02:50 25 4
gpt4 key购买 nike

我在将文件匹配在一起时遇到问题,$GROUP_MEMBERS_FILE 以 csv 格式保存有关群组成员的信息:

group,mail
eg.
GROUP1,test1@group.com
GROUP2,test2@group.com

第二个文件 $GROUP_CHANGES_FILE 包含有关添加到组成员的信息,格式为 .csv:

date,group,mail
eg.
2021-04-01T14:25:37+00:00,GROUP2,test2@group.com
2020-02-01T12:23:47+00:00,GROUP1,test1@group.com
2020-02-01T13:23:47+00:00,GROUP1,test3@group.com
2021-02-01T12:23:47+00:00,GROUP3,test4@group.com

我正在尝试完成过滤 $GROUP_MEMBERS_FILE 到 $GROUP_CHANGES_FILE 的匹配项,尽管还将日期列解析为 $FILTERING_FILE。我得到的最远的是找到匹配项,但是我无法将日期值解析为 $FILTERING_FILE,以具有与此结果示例相同的格式:

date,group,mail
eg.
2021-04-01T14:25:37+00:00,GROUP2,test2@group.com
2020-02-01T12:23:47+00:00,GROUP1,test1@group.com

无法提供合并日期但与文件匹配的代码(所有文件均未排序):

awk 'BEGIN{FS=","};FNR==NR{a[$1];next};!($1 in a)' $GROUP_MEMBERS_FILE $GROUP_CHANGES_FILE > $FILTERING_FILE

有人知道如何以最简单的方式做到这一点吗?谢谢,非常感谢!

最佳答案

抱歉,我不太理解你问题中的解释,但这似乎是你想要做的:

$ awk -F',' 'NR==FNR{a[$1,$2]; next} ($2,$3) in a' members changes
2021-04-01T14:25:37+00:00,GROUP2,test2@group.com
2020-02-01T12:23:47+00:00,GROUP1,test1@group.com

关于bash - 合并一列时将 .csv 文件与 BASH 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67677873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com