shell、python 统计两列数据中每一类别的总数目
001、shell实现
[root@pc1 test2]# ls a.txt [root@pc1 test2]# cat a.txt ## 测试数据 a 8 b 3 a 9 a 2 b 3 c 7 c 2 c 10 [root@pc1 test2]# for i in a b c; do grep $i a.txt | awk -v a=$i '{sum += $2} END {print a, sum}'; done a 19 b 6 c 19
002、python 实现
[root@pc1 test2]# ls a.txt test.py [root@pc1 test2]# cat a.txt ## 测试数据 a 8 b 3 a 9 a 2 b 3 c 7 c 2 c 10 [root@pc1 test2]# cat test.py ## 测试python程序 #!/usr/bin/python import sys in_file = open(sys.argv[1], "r") out_file = open(sys.argv[2], "w") lines = in_file.readlines() from collections import defaultdict dict1 = defaultdict(int) for i in lines: i = i.split(" ") dict1[i[0]] += int(i[1]) for i,j in dict1.items(): out_file.write(i + ": ") out_file.write(str(j) + "\n") in_file.close() out_file.close()
[root@pc1 test2]# ls a.txt test.py [root@pc1 test2]# python test.py a.txt result.txt ## 执行程序 [root@pc1 test2]# ls a.txt result.txt test.py [root@pc1 test2]# cat result.txt ## 程序运行结果 a: 19 b: 6 c: 19
003、python2
[root@pc1 test2]# ls a.txt test.py [root@pc1 test2]# cat a.txt ## 测试数据 a 8 b 3 a 9 a 2 b 3 c 7 c 2 c 10 [root@pc1 test2]# cat test.py ## 测试程序 #!/usr/bin/python import sys in_file = open(sys.argv[1], "r") out_file = open(sys.argv[2], "w") lines = in_file.readlines() dict1 = {} for i in lines: i = i.split(" ") if i[0] in dict1: dict1[i[0]] += int(i[1]) else: dict1[i[0]] = int(i[1]) for i,j in dict1.items(): out_file.write(i + ": ") print(str(j), file = out_file) in_file.close() out_file.close()
[root@pc1 test2]# ls a.txt test.py [root@pc1 test2]# python test.py a.txt b.txt ## 执行程序 [root@pc1 test2]# ls a.txt b.txt test.py [root@pc1 test2]# cat b.txt ## 程序执行结果 a: 19 b: 6 c: 19
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-11-16 linux 系统中wget实现并行下载
2021-11-16 R语言中实现将多行数据合并为一行
2021-11-16 R语言中如何将多列数据合并为一列
2020-11-16 linux系统中创建用户组