背景:之前是一个数学妞,所以操作系统类的就由windows系列霸占了,甚至“cmd"是什么东西,环境变量是什么概念......其实说那么多就是想表明一点:你现在很有可能比我知道得多得多呢!

 
介绍awk:
1)awk是什么东西?
awk其实就是一种在linux上的小工具,你可以理解其是一个方便文本处理,或者日志数据处理的插件。
2)awk的基本使用方法及场景
这个部分我觉得我再说什么都不如别人大神说得好,附上链接大伙看看:
http://www.runoob.com/linux/linux-comm-awk.html
其实除去一些基本的知识,总结起来,基本可以写成:
awk (-F,) 'BEGIN{初始变量}{动作}END{输出结果}‘ 引用文件
或者简写成 awk '{print $1,$2}'之类的
3)例子
ll.txt
root     163335   3005  0 May09 ?        00:00:00 sshd: srtest [priv]
srtest   163341 163335  0 May09 ?        00:00:00 sshd: srtest@pts/0
root     164948   3005  0 May09 ?        00:00:00 sshd: srtest [priv]
srtest   164953 164948  0 May09 ?        00:00:00 sshd: srtest@pts/1
root     171321   3005  0 15:20 ?        00:00:00 sshd: srtest [priv]
srtest   171326 171321  0 15:20 ?        00:00:00 sshd: srtest@pts/2
我想在只是想看有多少个?
awk 'BEGIN{count=0;print "the original number is" ,count}{count=count+1}END{print "the rusult number is",count}' ll.txt
除了这个我还想在动作方面加点动作大于170000的才算数;
awk 'BEGIN{count=0;print “first",count }{if($2>170000){count=count+1;}}END{print "last",count}  ll.txt
 
有了这个之后大家对awk基本上了解,但是这个还只是刚刚开始:
下面来个高一点难度的,如果有兴趣可以自己去琢磨,我也是拿到别人写的,发现写得挺好,然后收藏了。
 
awk -F"." -v OFS=',
' '{head[$1"."$2]++;tail[$1"."$2]=$(NF-2)}END{n=0;for(i in head){if(head[i]==tai
l[i]){print "arr["n"]="head[i],i;n++}else{print "arr["n"]="0,i;n++}}}'
 
数据是长这样的:OBRST_20160301.020.0003.0004.A.DAT
目前是看一些分割了的文件,最后数目对不对.0004.A.DAT这个说明是被分成4个,然后0003表示是第三个。
另外看到awk对【key:value】的数据处理棒棒哒。明天我打算用python 将上面这个程序写下。。。。。好嗨森

awk的数组使用经历的更多相关文章

  1. awk操作数组注意几点

    awk的数组跟其他程序设计语言的数组有所不同:1.可以直接在awk中定义数组:2.数组元素的初始值为0或空字符串,除非他们被显示的指定初始化:3.数组可以自动扩展:4.都是关联数组,数字下标也会转成字 ...

  2. shell 之awk 关联数组高级应用

    最近由于数据迁移过,有些用户信息需要再次确认下,也许数据量比较大,但是需要最终确认的比如说是用户ID和其对应的用户积分数,这样就会导致出现文本a(老的数据),文本b(新的数据).比如 这是文本a.tx ...

  3. AWK处理数组

    转自ChinaUnix论坛,感谢作者整理. 在文本处理的工作中,awk的数组是必不可少的工具,在这里,同样以总结经验和教训的方式和大家分享下我的一些学习心得,如有错误的地方,请大家指正和补充. awk ...

  4. shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计

    shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计 shell中的数组的用法: shell数组中的下标是从0开始的 array=("Allen" & ...

  5. linux中利用awk对数组进行排序

    数组 在排序前需要对数组有所了解,数组是用于存储一系列值得变量,这些值之间通常是由联系的,可通过索引来访问数组的值,索引需要用括号括起来,基本格式如下: array[index]=value awk数 ...

  6. awk结合数组统计

    1.统计用户登录类型 #!/bin/bashdeclare -A  shells (定义关联数组shells)while read ll   (读取/etc/passwd,ll为变量) dotype= ...

  7. 【译】 AWK教程指南 5AWK中的数组

    awk程序中允许使用字符串当做数组的下标(index).利用这个特色十分有助于资料统计工作.(使用字符串当下标的数组称为Associative Array) 首先建立一个数据文件,并取名为 reg.d ...

  8. 【转】awk数组操作

    转自:http://blog.csdn.net/wangran51/article/details/9168361 用awk进行文本处理,少不了就是它的数组处理.那么awk数组有那些特点,一般常见运算 ...

  9. 【转】awk 数组用法【精华贴】

    文本处理的工作中,awk的数组是必不可少的工具,在这里,同样以总结经验和教训的方式和大家分享下我的一些学习心得,如有错误的地方,请大家指正和补充. awk的数组,一种关联数组(Associative ...

随机推荐

  1. 关于Ajax工作原理

    1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax ...

  2. JS && JSON

    将Json字符串转为Json对象以下3种方式: eval('(' + str + ')'); JSON.parse(str); jQuery.parseJSON(str): 将Json对象转为字符串: ...

  3. 继承Thread类

    Thread类在包java.lang中,从这个类中实例化的对象代表线程,启动一个新线程需要建立Thread实例,Thread类中常用的两个构造方法如下: (1)public Thread(String ...

  4. 网络知识学习2---(IP地址、子网掩码)(学习还不深入,待完善)

    紧接着:网络知识学习1 1.IP地址    IP包头的结构如图 A.B.C网络类别的IP地址范围(图表) A.B.C不同的分配网络数和主机的方式(A是前8个IP地址代表网络,后24个代表主机:B是16 ...

  5. HDU5880 Family View(2016青岛网络赛 AC自动机)

    题意:将匹配的串用'*'代替 tips: 1 注意内存的使用,据说g++中指针占8字节,c++4字节,所以用g++交会MLE 2 注意这种例子, 12abcdbcabc 故失败指针要一直往下走,否则会 ...

  6. CS224d assignment 1【Neural Network Basics】

    refer to: 机器学习公开课笔记(5):神经网络(Neural Network) CS224d笔记3--神经网络 深度学习与自然语言处理(4)_斯坦福cs224d 大作业测验1与解答 CS224 ...

  7. JMeter中BeanShell实现写入文件

    1.首先F:\test.txt文件为空

  8. OpenFOAM 学习路线 【转载】

    "Two weeks of playing with a CFD code will save you one afternoon of reading" 什么是OpenFOAM( ...

  9. python 爬虫(一)

    1. 一次简单的网页访问 urllib 是一个标准的python库(意味着不需要安装任何附件的东西来运行这个demo),包含了通过网络请求数据的方法,处理cookies,甚至更改metadata比如h ...

  10. PHP mysql基础操作

    mysql连接操作 //建立连接$con = mysql_connect('localhost', 'root', '123456');//判断是否连接成功if($con){ die('连接失败!'. ...