好的,我有一个 csv 文件,我需要根据列值进行拆分,这很好,但我无法在每个文件中打印标题。
目前我使用:
awk "FS =\",\" {output=$3\".csv\"; print $0 > output}" test.csv
它根据第 3 列拆分文件文件,但我不知道如何将标题添加到每个文件。
我搜索了高和低,但找不到可以在一个班轮中工作的解决方案......
更新
好的,到目前为止,我们有一个工作班轮:
awk -F, "NR==1{hdr=$0;next}!($3 in files){files[$3]=1;print hdr>$3\".csv\"}{print>$3\".csv\"}" test.csv
或者在 test.awk 中:
BEGIN{FS=","} NR==1 {hdr=$0;next}!($3 in files) {files[$3]=1;print hdr>$3".csv"}{print>$3".csv"}
使用的运行命令:
awk -f test.awk test.csv
我真的很感谢这里的帮助,我已经尝试了几个小时,还有一些事情要解决。
1) 标题后插入空行 2) 对指定字段的数据进行排序
再往下走,我想另外做一个行计数并从另一个文件中删除一个参考号,这可能与 AWK 一起使用,还是我使用了错误的工具来完成这项工作?
再次感谢。