背景:之前是一个数学妞,所以操作系统类的就由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. .NET 获取客户端的操作系统版本、浏览器版本和IP地址

    我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...

  2. Win7+Ubuntu双系统安装完成后时间不一致相差大概8小时

    Win7+Ubuntu双系统时间不一致 解决方法: 第一种在Windows下进行如下修改: 在 注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Con ...

  3. WPF程序在Windows 7下应用Windows 8主题

    这篇博客介绍如何在Windows 7下应用Windows 8的主题. 首先我们先看一个很常见的场景,同样的WPF程序(样式未重写)在不同的操作系统上展示会有些不同.这是为什么呢?WPF程序启动时会加载 ...

  4. android:ellipsize的使用(转)

    EidtText和textview中内容过长的话自动换行,使用android:ellipsize与android:singleine可以解决,使只有一行. EditText不支持marquee 用法如 ...

  5. NSURLConnection 异步加载网络数据

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  6. 最短路径—Dijkstra算法和Floyd算法

    原文链接:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最后边附有我根据文中Dijkstra算法的描述使用jav ...

  7. mybatis注意事项

    1.如果用注解的方式加载配置CRUD查询的语句时,映射文件中的配置是: <mapper class="com.day03_mybaits.test3.UserMapper"/ ...

  8. STL set 用法

      c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. ...

  9. 2016 ccpc 网络选拔赛 F. Robots

    Robots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  10. ZeroMQ接口函数之 :zmq - 0MQ 轻量级消息传输内核

    官方网址:http://api.zeromq.org/4-0:zmq zmq(7) 0MQ Manual - 0MQ/3.2.5 Name zmq – ØMQ 轻量级消息传输内核 Synopsis # ...