上一页 1 ··· 3 4 5 6 7 8 9 10 下一页

2014年3月5日

摘要: 1. awk名包含在文件内[root@nhserver1 08]# cat sample.txtaaabbbccc[root@nhserver1 08]# cat readsample.awkawk '{print}' sample.txt[root@nhserver1 08]# ./readsample.awkaaabbbccc2. awk名包含在命令行上[root@nhserver1 08]# cat sample.txtaaabbbccc[root@nhserver1 08]# cat readsample2.awk{print}[root@nhserver1 08]# 阅读全文
posted @ 2014-03-05 10:11 菲一打 阅读(809) 评论(0) 推荐(0)
 
摘要: 本文参考的是 ubuntu 下 gawk version 3.1.6 以及 《sed&awk》一 . awk 简介awk 是一种解释型(tawk除外)文本处理语言二 . awk 如何运作命令行参数shell 会预处理命令行,获得命令行参数(其中包括命令名),之后启动命令并向它传递剩余的参数。系统变量ARGV:一个关联数组,存放命令行参数,数组下标从0到ARGC-1,ARGV[0]的值为awk系统变量ARGC:命令行参数的个数ARGV 的元素不包含AWK的选项和脚本笔者根据 awk 的 info 手册以及实际操作,臆测出 awk 的大致运作过程如下:1 . 执行 -v 选项指定的赋值语句 阅读全文
posted @ 2014-03-05 09:18 菲一打 阅读(1790) 评论(0) 推荐(0)
 
摘要: 一 . sed 简介1 . 功能sed 是一种流编辑器,所谓流编辑器是指能够对来自文件或者管道的输入流进行基本的文本转换的工具,比方说查找替换删除等。2 . 最简单的运作机制sed 程序运行时,会读入脚本,然后把脚本作用在每一个输入行上。sed 在每个执行周期(excution cycle)里完成以下任务:1) 读取下一行,行计数器加 12) 执行脚本3) 一旦控制转移到脚本末尾,自动输出并清除模式空间的内容,进入下一个执行周期注:1) sed 每次都是从输入流读取下一行2) 读入一行都会删除结尾的换行符再放入模式空间3) 输出模式空间内容时也会自动添加新行符 3 . 模式空间和保持空间(ho 阅读全文
posted @ 2014-03-05 09:17 菲一打 阅读(284) 评论(0) 推荐(0)
 

2014年3月2日

摘要: 在前面看到的都是单行模式。每次sed处理一个行。但是sed是允许一次处理多行的。这就是所谓的多行模式空间。多行模式空间命令有(N、D、P),他们分别对应单行模式空间(n、d、p)。分别是他们的多行形式。只不过,d每次删除一行,而D每次删除多行模式空间中的“一行”,其实就是一个记录。下面举例子。我们假设有一个文件,loves cc两个单词分散在不同的行。我们想通过sed将二者放在同一行。[plain] view plaincopyzoer@ubuntu:~$catdatanaughtylovescc,andcclovesnaughty.theyareveryhappy!zoer@ubuntu:~ 阅读全文
posted @ 2014-03-02 19:11 菲一打 阅读(678) 评论(0) 推荐(0)
 
摘要: 前面的话学习linux 的同人,都知道linux shell文本处理能力非常强大。有一组强大的文本处理工具:grep,sed,awk 。 其中grep 经常用作查找匹配文本、sed用作文本编辑替换、awk也是最强大的,经常用作报表生成! 它的处理效率非常高,一个几百M文件 ,也能在秒秒钟完成!查阅资料,你会发现它不光可以命令行快速处理文本。它还可以编写awk文件,使用自己专用的语法函数,实现非常强大的功能,它有自己 一套编程语法。 呵呵,说到这里,估计有人开始犯嘀咕了啦,“不就是做做筛选,统计吗?有这等复杂!”,其实也是,工具很强大,能够使用它解决自己问题就行!如果特感兴趣 的, 接下来我会将 阅读全文
posted @ 2014-03-02 15:57 菲一打 阅读(317) 评论(0) 推荐(1)
 
摘要: awk是个优秀文本处理工具,可以说是一门程序设计语言。下面是awk内置变量。一、内置变量表属性说明$0当前记录(作为单个变量)$1~$n当前记录的第n个字段,字段间由FS分隔FS输入字段分隔符 默认是空格NF当前记录中的字段个数,就是有多少列NR已经读出的记录数,就是行号,从1开始RS输入的记录他隔符默 认为换行符OFS输出字段分隔符 默认也是空格ORS输出的记录分隔符,默认为换行符ARGC命令行参数个数ARGV命令行参数数组FILENAME当前输入文件的名字IGNORECASE如果为真,则进行忽略大小写的匹配ARGIND当前被处理文件的ARGV标志符CONVFMT数字转换格式 %.6gENV 阅读全文
posted @ 2014-03-02 15:53 菲一打 阅读(152) 评论(0) 推荐(0)
 
摘要: awk是个优秀文本处理工具,可以说是一门程序设计语言。下面是awk内置变量。一、内置变量表属性说明$0当前记录(作为单个变量)$1~$n当前记录的第n个字段,字段间由FS分隔FS输入字段分隔符 默认是空格NF当前记录中的字段个数,就是有多少列NR已经读出的记录数,就是行号,从1开始RS输入的记录他隔符默 认为换行符OFS输出字段分隔符 默认也是空格ORS输出的记录分隔符,默认为换行符ARGC命令行参数个数ARGV命令行参数数组FILENAME当前输入文件的名字IGNORECASE如果为真,则进行忽略大小写的匹配ARGIND当前被处理文件的ARGV标志符CONVFMT数字转换格式 %.6gENV 阅读全文
posted @ 2014-03-02 15:52 菲一打 阅读(230) 评论(0) 推荐(0)
 
摘要: 转自:http://blog.csdn.net/wangran51/article/details/9168361用awk进行文本处理,少不了就是它的数组处理。那么awk数组有那些特点,一般常见运算又会怎么样呢。我们先看下下面的一些介绍,结合例子我们会讲解下 它的不同之处。在 awk 中数组叫做关联数组(associative arrays),因为下标记可以是数也可以是串。awk 中的数组不必提前声明,也不必声明大小。数组元素用 0 或空串来初始化,这根据上下文而定。例如:一、定义方法1:可以用数值作数组索引(下标)Tarray[1]=“cheng mo”Tarray[2]=“800927”2 阅读全文
posted @ 2014-03-02 15:51 菲一打 阅读(360) 评论(0) 推荐(0)
 
摘要: 文本处理的工作中,awk的数组是必不可少的工具,在这里,同样以总结经验和教训的方式和大家分享下我的一些学习心得,如有错误的地方,请大家指正和补充。awk的数组,一种关联数组(Associative Arrays),下标可以是数字和字符串。因无需对数组名和元素提前声明,也无需指定元素个数 ,所以awk的数组使用非常灵活。首先介绍下几个awk数组相关的知识点:建立数组array[index] = value :数组名array,下标index以及相应的值value。复制代码读取数组值{ for (item in array)print array[item]} # 输出的顺序是随机的{for(i. 阅读全文
posted @ 2014-03-02 15:50 菲一打 阅读(900) 评论(0) 推荐(0)
 
摘要: shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决很多复杂的判断。一、逻辑运算符逻辑卷标表示意思1.关于档案与目录的侦测逻辑卷标!-f常用!侦测‘档案’是否存在 eg: if [ -f filename ]-d常用!侦测‘目录’是否存在-b侦测是否为一个‘ block 档案’-c侦测是否为一个‘ character 档案’-S侦测是否为一个‘ socket 标签档案’-L侦测是否为一个‘ symbolic link 的档案’-e侦测‘某个东西’是否存在!2.关于程序的逻辑卷标!-G侦测是否由 GID 所执行的程序所拥有-O侦测是否由 UID 所执行的程序所拥有-p侦测是否为 阅读全文
posted @ 2014-03-02 08:53 菲一打 阅读(191) 评论(0) 推荐(0)
 
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页