我有一个CSV文件如下:
group1, item1
group1, item2
group2, item3
group1, item4
.....
我已设法按组拆分此文件以分隔csv文件(group1.csv.dat,group2.csv.dat等)。每个文件都包含属于特定组的所有项目。
group1.csv.dat:
item1, true
item2, true
item4, true
.....
group2.csv.dat:
item3, true
.....
我使用了以下AWK:
awk -F, '{print $2",true" > $1".csv.dat"}' file1
现在,我有第二个文件(假设文件为2),如下所示:
group1, GRFS+NC, 4
group2, GRTU+NC, 6
....
如何使用AWK读取此文件,以便将第一步中创建的文件命名为 GRFS4.csv.dat,GRTU6.csv.dat而不是group1.csv.dat,group2.csv.dat?优选地,我想将处理结合到第一步中。非常感谢......
答案 0 :(得分:1)
awk -F, '{split($2,a,"+");print $2",true" > a[1]""$3".csv.dat"}' file2
答案 1 :(得分:0)
你需要这样的东西,未经测试:
awk '
NR==FNR{ name[$1] = $3 $6 ".csv.dat"; next }
{ print $2 ",true" > name[$1] }
' FS='[, +]' file2 FS=',' file1
只需计算file2中的字段,以确保$ 3和$ 6是正确的字段。添加一个调试for循环以打印它们以查看您是否不确定。