次の.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
つまり、3番目の列に記録された各値について、対応するペアの発生回数とA,B
同じ値の発生回数を取得したいと思います。B,A
私は主にその行をA,B
その行と一致させようとしていますB,A
。
これにご協力いただきありがとうございます。
ベストアンサー1
牛に似た一種の栄養awk
解決策:
awk -F',' '{ k=$1 FS $2 }{ a[k][$3]++; rev[k]=$2 FS $1 }
END{
for(i in a)
for(j in a[i]) {
print i, j, a[i][j], rev[i], a[rev[i]][j]+0;
delete a[rev[i]][j]
}
}' OFS=',' file
出力:
C,D,1990,1,D,C,0
A,B,1999,2,B,A,0
D,A,1990,1,A,D,0
B,A,1989,1,A,B,0