我有一个 .csv 文件,如下所示:
A,B,1999
C,D,1990
B,A,1989
D,A,1990
A,B,1999
...
我想重新排列它大致如下所示:
A,B,1989,0,B,A,1
A,B,1999,2,B,A,0
C,D,1990,1,D,C,0
D,A,1990,1,A,D,0
换句话说,我想知道A,B
第三列中记录的每个值的对出现的次数,B,A
以及相同值出现的次数。
我大部分时间都在努力将说的行与说的行A,B
匹配B,A
。
非常感谢您对此的任何帮助。
GNU
awk
解决方案:输出:
Perl 中的这个似乎正在工作。
逐行解释:
,
使用f或分隔符运行 Perl ,将字段读入一个数组,处理行尾,为每一行运行,然后执行:跳过输入中的空行:
增加每条记录的哈希计数器:
开始最后一个块:
读取哈希:
准备打印数据:
摆脱哈希中的双条目:
data
是输入文件。因此,对于这个输入数据:
你应该得到这个输出: