本帖最后由 思想之翼 于 2024-12-5 19:25 编辑
D:\DATA\1.txt 记录字符:
中国 中国 中国 美国
欧盟 法国 法国 德国
D:\DATA\2.txt 记录字符:
中国 美国 美国
法国 法国 法国 法国
英国 德国 美国 德国
中国 中国
如何使用gawk工具,先统计 1.txt 中特定字符“中国”的出现次数N,上例N=3,(特定字符“中国”预先写入代码,而非在代码运行过程中弹出页面手动输入),
据此,统计 2.txt 中出现次数N=3的字符,上例N=3的字符为 中国 美国,写入D:\DATA\3.txt
最终输出结果:
3.txt
中国 美国
【注】下列代码,统计 1.txt 2.txt 字符出现次数:- gawk -v"RS=\r?\n| " "{++a[$0][FILENAME];f[FILENAME]}END{PROCINFO[\"sorted_in\"]=\"@ind_str_desc\";for(i in a)for(j in f)if(!a[i][j]){};for(i in a){printf i;s=1;for(j in a[i]){sId=s?\":\":\",\";printf sId\" %s 记录 %d 次\",j,a[i][j];s=0}print\"\"}}" 1.txt 2.txt>3.txt
复制代码 3.txt结果:
中国: 2.txt 记录 3 次, 1.txt 记录 3 次
英国: 2.txt 记录 1 次, 1.txt 记录 0 次
欧盟: 2.txt 记录 0 次, 1.txt 记录 1 次
美国: 2.txt 记录 3 次, 1.txt 记录 1 次
法国: 2.txt 记录 4 次, 1.txt 记录 2 次
德国: 2.txt 记录 2 次, 1.txt 记录 1 次 |