sed&awk学习总结
2012-07-28 15:33
232 查看
1、 流式编辑: sed&awk学习(4小时)
1) sed学习。
a)sed常见语法为sed -options ‘地址指定/命令指定’ 文件指定
[>输出文件],地址可以是起始行和结束行,也可以是模式匹配行。命令指定就是对于在地址范围的行执行操作。如果命令很多可以写在一个文件里面
b)sed基于行的执行用户给出的操作,可以是多个操作,操作之间用分号隔开,它并没有改变源文件,而是将文件读入模式缓冲区并在模式缓冲区执行用户的指令,然后将结果输出到标准输出。一般在命令前面加上指定的地址范围,可以用正则表达式匹配行地址。常用的一些操作有d删除,p打印,s///g替换,常用选项有-n,如果不指定-nname默认打印到标准输出,如果指定-n需要指定p命令才能打印到标准输出。
2)awk学习。
a)awk是文本处工具。但是个人感觉更像一门语言,首先有变量,数组,流程控制(和C很像),函数,还有内建函数。awk和sed能做一些相同的事情,但是awk更偏重于处理字段。常见语法格式为awk ‘[BEGIN{}]
[/模式匹配/]{}[END{}]’输入文件,也可以将命令写在文件里面用-f参数指定。在BEGIN模块中主要做一些变量初始化工作,然后匹配匹配模式的记录会被执行{}中的命令。最后END块会做些结束处理工作,比如如果在BEGIN中修改了FS,在END块中可以改回去。
b)awk常见内建变量有FNR,FS,RS,NR,OFS,ORS,NF。FNR和NR用的比较少,但是有种情况很有用,如果需要处理多个文件,FNR是当前文件的记录数,NR是所有的记录,他可以判断当前处理的记录在哪个文件中。这样在2个文件中如果有相同的字段可以通用一些变量。
c)awk函数,主要分自定义和内建函数。
一)自定义函数如果传的参数比实际定义的多并不会报错,而只是给出警告。如果定义的比实际多,name后面的参数被看为局部变量,习惯上会在局部变量前空几个字节。自定义函数以function+functionname(参数列表){函数体}形式定义。在函数体中可以用return返回。如果在外面用则会报错。另外在awk中没有直接的引用传递参数。不过可以通过数组来作为形参传递,因为数组本来就是引用的地址。
二)awk内建函数主要有输出函数,字符串函数,算术函数。
1) sed学习。
a)sed常见语法为sed -options ‘地址指定/命令指定’ 文件指定
[>输出文件],地址可以是起始行和结束行,也可以是模式匹配行。命令指定就是对于在地址范围的行执行操作。如果命令很多可以写在一个文件里面
b)sed基于行的执行用户给出的操作,可以是多个操作,操作之间用分号隔开,它并没有改变源文件,而是将文件读入模式缓冲区并在模式缓冲区执行用户的指令,然后将结果输出到标准输出。一般在命令前面加上指定的地址范围,可以用正则表达式匹配行地址。常用的一些操作有d删除,p打印,s///g替换,常用选项有-n,如果不指定-nname默认打印到标准输出,如果指定-n需要指定p命令才能打印到标准输出。
2)awk学习。
a)awk是文本处工具。但是个人感觉更像一门语言,首先有变量,数组,流程控制(和C很像),函数,还有内建函数。awk和sed能做一些相同的事情,但是awk更偏重于处理字段。常见语法格式为awk ‘[BEGIN{}]
[/模式匹配/]{}[END{}]’输入文件,也可以将命令写在文件里面用-f参数指定。在BEGIN模块中主要做一些变量初始化工作,然后匹配匹配模式的记录会被执行{}中的命令。最后END块会做些结束处理工作,比如如果在BEGIN中修改了FS,在END块中可以改回去。
b)awk常见内建变量有FNR,FS,RS,NR,OFS,ORS,NF。FNR和NR用的比较少,但是有种情况很有用,如果需要处理多个文件,FNR是当前文件的记录数,NR是所有的记录,他可以判断当前处理的记录在哪个文件中。这样在2个文件中如果有相同的字段可以通用一些变量。
c)awk函数,主要分自定义和内建函数。
一)自定义函数如果传的参数比实际定义的多并不会报错,而只是给出警告。如果定义的比实际多,name后面的参数被看为局部变量,习惯上会在局部变量前空几个字节。自定义函数以function+functionname(参数列表){函数体}形式定义。在函数体中可以用return返回。如果在外面用则会报错。另外在awk中没有直接的引用传递参数。不过可以通过数组来作为形参传递,因为数组本来就是引用的地址。
二)awk内建函数主要有输出函数,字符串函数,算术函数。
相关文章推荐
- sed && awk学习总结
- Sed&Awk学习笔记
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
- linux运维实战练习及linux shell脚本、awk、sed工具命令学习总结
- spring学习总结(三):IOC & DI 配置 Bean 之配置形式及依赖注入方式
- Shell脚本的学习&&sed
- 高级软件工程&&《软件工程(C编码实践篇)》课程学习心得及内容总结
- linux下的文本处理命令sed&awk&grep
- Sed 与Awk (第二版)学习笔记
- (三) paste 之grep cut paste sort awk sed find uniq 全面总结
- sed&awk基本使用方法
- awk&&sed脚本语言
- Sed & Awk 每日一例 之三
- 《算法导论》学习总结 — 2.第一章 && 第二章 && 第三章
- 移动应用瘦身学习总结 (Android&iOS)
- Selenium Webdriver 学习总结-Selenium Grid & Webdriver(九)
- linux sed&awk简述
- 迟到的总结(四)--springmvc的系统学习之文件上传、ajax&json处理
- linux shell sed && awk 的学习
- 谈谈我对学习看法&一周学习总结