$ awk -F',' 'FNR>1{a[$1,$2,$3,$4]} FILENAME==ARGV[1]&&FNR>1{a1[$1,$2,$3,$4]++} FILENAME==ARGV[2]&&FNR>1{a2[$1,$2,$3,$4]++} FILENAME==ARGV[3]&&FNR>1{a3[$1,$2,$3,$4]++}END{for (i in a) {split(i,b,SUBSEP); printf "%s,%s,%s,%s,%d,%d,%d\n",b[1],b[2],b[3],b[4],a1[i],a2[i],a3[i]}} ' file1 file2 file3 亚洲,中国,河北,石家庄,1,0,1 亚洲,中国,陕西,西安,2,1,2 亚洲,中国,宁夏,银川,1,1,0 亚洲,中国,甘肃,兰州,0,0,1 亚洲,中国,河南,郑州,0,1,0 亚洲,中国,辽宁,沈阳,1,1,0