gpt4 book ai didi

shell - 根据命令行中的列拆分 csv 文件

转载 作者:行者123 更新时间:2023-12-03 17:36:58 28 4
gpt4 key购买 nike

我在文件中有一些数据,格式为 csv 格式:

ID,DATE,EARNING
1,12 May 2018,5
1,13 May 2018,15
2,12 May 2018,25

我想把它分成多个文件,这样 file_1_May_report 包含:

ID,DATE,EARNING
1,12 May 2018,5
1,13 May 2018,15

另一个文件 file_2_May_report 包含:

ID,DATE,EARNING
2,12 May 2018,25

我试过了:

awk -F, '{print >> $1}' input.csv 

但是我只得到一个文件 1 只有一条记录,即输入文件中的最后一条记录。如何根据 ID 将其拆分为多个文件?

最佳答案

你可以使用这个awk:

awk -F, 'NR==1{hdr=$0; next} !seen[$1]++{fn="file_" $1 "_May_report"; print hdr > fn} {print > fn}' input.csv

或者更易读的格式:

awk -F, 'NR == 1 {
hdr = $0
next
}
!seen[$1]++ {
fn = "file_" $1 "_May_report"
print hdr > fn
}
{
print > fn
}' input.csv

关于shell - 根据命令行中的列拆分 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50517053/

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