09 2013 档案

摘要:【应用场景】--描述如下有如下文本:account time dept: 1号--------------------------------------------------------------------------A4 2 60.00A3 3 120.00B16 6 90.00total 11 ... 阅读全文 »
posted @ 2013-09-29 23:39 lottu 阅读(832) 评论(0) 推荐(0) 编辑
摘要:【场景】有一文件aa如下: 650571.37 2188705.56 1. 654437.44 2187283.55 1. 653184.30 2187230.23 1. 652925.37 2187289.22 1. 650571.37 2188705.56 1. 649691.51 2186999.15 1. ... 阅读全文 »
posted @ 2013-09-29 23:28 lottu 阅读(285) 评论(2) 推荐(0) 编辑
摘要:【场景】有文本如下99 line0 100 line1 100 line2 101 line3 102 line4 103 line5 103 line6【实现效果如下】如何将首列相同的相邻行筛选出,能到到如下结果100 line1 100 line2 103 line5 103 line6【代码如下:】awk '{a[NR]=$1;b[NR]=$0}END{for(i=1;i<=NR;i++){if(a[i]==a[i+1])print b[i]"\n"b[i+1]}}'【解析】 跟上篇原理差不多;【拓展】这下面有关阴月飞兄的代码;有点深奥;awk 阅读全文 »
posted @ 2013-09-24 20:15 lottu 阅读(462) 评论(0) 推荐(0) 编辑
摘要:【场景】 在一个大文件中(上千行数据);取NR%126的值为1-8,76的行。看有没有很好的写法【实现】[li0924@localhost lottu]$ seq 300|awk '{A=NR%126;if(A>=1&&A<=8||A==76)print}'1234567876127128129130131132133134202253254255256257258259260还有seesea兄的巧妙的思路,利用数组的值;代码如下:awk 'BEGIN{for(i=1;i<=8;++i) ar[i]=1; ar[76] = 1;} (N 阅读全文 »
posted @ 2013-09-23 23:06 lottu 阅读(4784) 评论(0) 推荐(1) 编辑
摘要:【场景】--达到uniq命令的效果1. 若是去除重复行;我们很快会想到1 cat input.txt | sort | uniq2 awk '! a[$0]++' input.txt2. 若要只实现像命令uniq的效果呢?例如文本fileaaaafffeeffffffeeeebbbbaaView Code 效果如“uniq file”[li0924@localhost awk]$ uniq fileaafffeefffeebbaa若用awk来怎么实现呢?awk '{a[NR]=$0}END{s=a[1];for(i=1;i1)print i}}' 【解析】有了上 阅读全文 »
posted @ 2013-09-18 08:10 lottu 阅读(497) 评论(0) 推荐(0) 编辑
摘要:【场景】--工时脚本这个是我对目前的公司上班制度;我写的工时脚本;为了确定本月工时是否足够;纯属玩弄!需求: 1.上班采用弹性一个小时上班打卡(8:00--9:00);8:00之前打卡;算是8:00时刻打卡;9:00之后打卡算是迟到(目前这个脚本对迟到/请假不处理) 2.中午(12:00--13:30)是中饭时间;所以这个不计工时; 3.下班时间从17:30开始;(17:30--18:00)是晚餐时间;也不计工时。 4.加班到(20:30)有10块的晚餐补助!这个月的餐补有多少次? 5.一个月要保证每天有8H;这个月的平均上班时间是多少?worktime.awk代码如下: 1 # 作者 li. 阅读全文 »
posted @ 2013-09-15 14:43 lottu 阅读(420) 评论(0) 推荐(0) 编辑
摘要:【场景】--类似于excel中的sum函数对列/行进行统计求和 A01 30 16 9 3 2 30 30 16 9 3 A02 14 6 1 0 7 14 14 6 1 0 A03 4 0 3 0 1 4 0 4 0 3 A09 6 3 0 0 3 6 0 6 3 0【要求1】--对列进行统计求和 A01 30 16 9 3 2 30 30 16 9 3 A02 14 6 1 0 7 ... 阅读全文 »
posted @ 2013-09-13 22:24 lottu 阅读(724) 评论(0) 推荐(1) 编辑
摘要:【场景】--如何根据文件1中的关键字提取文件2中的内容文件1: 4238 4240文件2 4237 MY4237A 4237 MY4237B 4238 MY4238A 4238 MY4238B 4238 MY4238C 4239 MD4239A 4240 MY4240A 4240 MY4240B 4240 MY4240C 4240 MD4240A 4240 MD4240B 4240 MD4240C要求根据文件1中的字段1为关键字提取文件2中的内容,输出如下: 4238 MY4238A 4238 MY4238B 4238 MY4238C 4240 MY4240A ... 阅读全文 »
posted @ 2013-09-11 22:40 lottu 阅读(239) 评论(1) 推荐(0) 编辑
摘要:【场景】--计算行的和但若是要计算行的和呢?假设文件有N行,10列,想计算这10列的和,作为新的$11,每行都这么处理,那要如何实现呢?【代码】1 awk '{for (i=1;i<=NF;i++) s=s+$i; print $0,s;s=0}'2 awk '{for(i=1;i<=NF;i++){a[NR]+=$i} print $0,a[NR];delete a}'【测试】[li0924@localhost awk]$ cat d.txt1 2 4 5 2 6 4 43 233 4 5 3 42 2 4 2 4523 32 2 2 4 1 5 阅读全文 »
posted @ 2013-09-11 22:27 lottu 阅读(238) 评论(1) 推荐(0) 编辑
摘要:【场景】有一个文件b.txt,内容如下:[root@OracleA test]# cat b.txthttp://www.baidu.com/index.htmlhttp://www.google.com/index.htmlhttp://www.baidu.com/get.htmlhttp://www.baidu.com/set.htmlhttp://www.google.com/index.htmlhttp://www.yahoo.com.cn/put.html现要求将该文件中的域名截取出来,统计重复域名出现的次数,然后按次数进行降序排列,统计后的结果如下:3 www.baidu.com2 阅读全文 »
posted @ 2013-09-10 22:24 lottu 阅读(316) 评论(1) 推荐(0) 编辑
摘要:博客园awk高手众多;在这里是个人对awk的学习一点心得;同时也是awk的精妙之处;在此若有错误请大家指正,一起来完善!awk如何引入变量?有两种方法1 awk -v var=$VAR '{code}'2 awk '{print "'$VAR'"}' 例如测试:1 [li0924@localhost awk]$ a=li09242 [li0924@localhost awk]$ echo fef| awk -v var=$a '{print var}'3 li09244 [li0924@localhost aw 阅读全文 »
posted @ 2013-09-09 22:07 lottu 阅读(516) 评论(0) 推荐(0) 编辑
摘要:【场景】我手头上有三个文件,他们的格式都是一样的,总共5列.如果我想求他们的并集,并且如果前三列相同第四列的数字相加,第五列信息合并.我尝试用awk去做,可是结果并不齐全.应该怎么做呢?以下是文件格式:1.a.txt WINGS 1000 4000 3 3/20_505 WINGS 5000 6000 8 8/20_505 SANLY 2000 4000 9 9/20_505 TINAG 8000 10000 11 11/20_5052.b.txt WINGS 1000 4000 3 3/18_707 ANNY 4000 7000 4 4/18_707 MOLLY 3000 4300 5 5. 阅读全文 »
posted @ 2013-09-09 21:28 lottu 阅读(335) 评论(0) 推荐(0) 编辑
摘要:【场景】文件awk01的内容如下:stra bstra cstra dstrb 1strb 2strb 3实现效果如下:strabcdstrb123代码测试如下:[li0924@localhost awk]$ awk '{b=a[$1]++?$2:$1RS$2;print b}' awk01 strabcdstrb123【解析】 利用数组a来进行判断;a[$1]的初始值我们未定义;a[$1]转换为整型值为0;0在awk是为假;所以b=$1RS$2;随着a[$1]++;该值是非0;b=$2;其中RS是awk的内置变量;默认是换行即"\n"这里是zooyo大师的 阅读全文 »
posted @ 2013-09-09 18:51 lottu 阅读(330) 评论(0) 推荐(0) 编辑
摘要:Shell控制流程结构本章内容有: 退出状态 While、for和until loops循环 If then else语句 脚本中动作 菜单条件控制语句If then else语句if语句测试条件,测试条件返回真(0)或假(1)后,可相应执行一系列语句。if语句结构对错误检查非常有用。其格式为:if条件1then命令1elif条件2then命令2else命令3fiView Code 让我们来具体讲解if语句的各部分功能。1If条件1如果条件1为真2Then那么3命令1执行命令14elif条件2如果条件1不成立5then那么6命令2执行命令27else如果条件1,2均不成立8命令3那么执行命令. 阅读全文 »
posted @ 2013-09-07 14:53 lottu 阅读(677) 评论(2) 推荐(0) 编辑

点击右上角即可分享
微信分享提示