gpt4 book ai didi

linux - 如何使用 shell 脚本连接 2 个 csv 文件?

转载 作者:IT王子 更新时间:2023-10-29 00:32:12 28 4
gpt4 key购买 nike

我正在尝试制作一个 shell 脚本,它将按以下方式组合两个 csv 文件:

我有两个 csv 文件,f1.csv 和 f2.csv。 f1.csv格式为:

startId, endId, roomNum

f2.csv 的格式如下:

startId, endId, teacherId 

我想将这两个合并成一个 csv 文件,格式如下:

startId, endId, roomNum, teacherId. 

使用在 Linux 下运行的 shell 脚本完成此任务的最佳方法是什么?

最佳答案

尝试:

join -t, -1 1 -2 1 -o 1.2 1.3 1.4 2.4 <(awk -F, '{print $1":"$2","$0}' f1.csv | sort) <(awk -F, '{print $1":"$2","$0}' f2.csv | sort)

工作原理:

1) 我首先通过将两个文件的 startId 和 endId 连接到 startId:endId 来创建一个复合键列。

awk -F, '{print $1":"$2","$0}' f1.csv
awk -F, '{print $1":"$2","$0}' f2.csv

2) 我对两个输出进行排序:

awk -F, '{print $1":"$2","$0}' f1.csv | sort 
awk -F, '{print $1":"$2","$0}' f2.csv | sort

3) 然后我使用 join 命令加入我的复合键(在第一列中)并只输出我需要的列。

关于linux - 如何使用 shell 脚本连接 2 个 csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6301059/

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