文档章节

AWK,Python 统计文本

jastme
 jastme
发布于 2014/06/26 09:12
字数 356
阅读 46
收藏 0
需求,读一个文件,在遇到某个字符后退出,然后统计前面每个字符串出现的次数


root@ubuntu001:~# cat test
1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9
1 3 5 6 7 8 9 1
2 3 5 6 7 8 9 1
1 2 4 5 6 8 9 d
12 33 55 667 999 4242 

awk历遍文本到指定字符串退出,统计

root@ubuntu001:~# awk '{for(i=1;i<=NF;i++){if( $i=="d" ){exit}else{a[$i]++}}}END{for(i in a){print i,a[i]}}' test
1 5
2 4
3 4
4 3
5 5
6 5
7 4
8 5
9 4

python统计;注释的地方为去重部分--》写入字典,再读字典,有点不科学了;

#!/usr/bin/python
# -*- coding:utf-8 -*-
f=open('/root/test','r')
a=''
b={}
for i in f.read():
    if 'd' in i:
        a=a+i[:i.index('d')]
        break
    else:
        a=a+i
m=list(set(list(a)))                             ###########    set可以对列表去重,好用
for n in m:
    print '%s Appeared %s number of times' %(n,a.count(n))
#for k in a:
#    if k==' ':
#        pass
#    elif k=='\n':
#        pass
#    else:
#        b[k]=a.count(k)
#for key,vaule in b.items():        
#    print '%s Appeared %s number of times' %(key,vaule[1])

root@ubuntu001:~# ./douniwan.py 
1 Appeared 5 number of times
3 Appeared 4 number of times
2 Appeared 4 number of times
5 Appeared 5 number of times
4 Appeared 3 number of times
7 Appeared 4 number of times
6 Appeared 5 number of times
9 Appeared 4 number of times
8 Appeared 5 number of times


© 著作权归作者所有

共有 人打赏支持
jastme
粉丝 36
博文 135
码字总数 61896
作品 0
成都
程序员
私信 提问
Linux Shell学习简单小结

shelllinuxperformancefunctionfile if-fi [cpp] view plaincopyprint? #! /bin/bash # 删除文件 和 新建文件 file=readme function delFile(){ if [ -e ./$file ];then rm -f ./$file echo ......

Zero零_度
2015/04/08
0
0
Linux Shell 文本处理工具集锦

Linux Shell 文本处理工具集锦 本文将介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用...

平凡之路
2014/10/13
0
0
python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)

前言:python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)。其实用awk+sort等命令可以实现,用awk数组也可以实现,这里只是用python尝试下。 apache脚本: ips = {}with ope...

sailikung
07/01
0
0
Hadoop兮,杀鸡别用牛刀,python+shell实现一般日志文件的查询、统计

简单的日志统计是不需要使用重量级的Hadoop,我用python实现了日志的统计。原理是用fabric登录到远程linux,组合使用grep、uniq、sort、awk对日志进行操作,可以根据正则表达式指定规则抽取符...

小水熊
2013/08/03
0
1
常用统计分析 SQL 在 AWK 中的实现

最近有需求需要本地处理一些临时的数据,用做统计分析。如果单纯的 MYSQL 也能实现, 不过一堆临时数据这样从 mysql 导来导去还是挺麻烦的,比较理想的选择是本机装个 cygwin 环境,然后可以...

大数据之路
2013/01/08
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Hive的三种Join方式

Hive中就是把Map,Reduce的Join拿过来,通过SQL来表示。 参考链接:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins Common/Shuffle/Reduce Join Reduce Join在Hiv......

GordonNemo
14分钟前
0
0
Spark学习记录(三)核心API模块介绍

spark ------------- 基于hadoop的mr,扩展MR模型高效使用MR模型,内存型集群计算,提高app处理速度。 spark特点 ------------- 速度:在内存中存储中间结果。 支持多种语言。Scala、Java、P...

我爱春天的毛毛雨
20分钟前
0
0
PHP5、PHP7安装

11月13日任务 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7 PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/local/src/ wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2 tar z......

zgxlinux
21分钟前
0
0
React 项目结构和组件命名之道

摘要: > * 原文地址:[structuring projects and naming components in react](https://hackernoon.com/structuring-projects-and-naming-components-in-react-1261b6e18d76) > * 原文作者:......

阿里云官方博客
21分钟前
2
0
无维护地稳定运行了8 年的 Hyperic HQ

最近在诊断一个系统意外停机时, 发现一个8年前部署部署的Hypeirc HQ 4.2,已经免维护,稳定运行了8年多。提供了及时的诊断信息。单击右下角的蓝色泡泡,可显示报警信息。

MartinKing
35分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部