sed&awk学习总结

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很像),函数,还有内建函数。awksed能做一些相同的事情,但是awk更偏重于处理字段。常见语法格式为awk ‘[BEGIN{}] [/模式匹配/]{}[END{}]’输入文件,也可以将命令写在文件里面用-f参数指定。在BEGIN模块中主要做一些变量初始化工作,然后匹配匹配模式的记录会被执行{}中的命令。最后END块会做些结束处理工作,比如如果在BEGIN中修改了FS,在END块中可以改回去。

   b)awk常见内建变量有FNR,FS,RS,NR,OFS,ORS,NFFNRNR用的比较少,但是有种情况很有用,如果需要处理多个文件,FNR是当前文件的记录数,NR是所有的记录,他可以判断当前处理的记录在哪个文件中。这样在2个文件中如果有相同的字段可以通用一些变量。

   c)awk函数,主要分自定义和内建函数。

    一)自定义函数如果传的参数比实际定义的多并不会报错,而只是给出警告。如果定义的比实际多,name后面的参数被看为局部变量,习惯上会在局部变量前空几个字节。自定义函数以function+functionname(参数列表){函数体}形式定义。在函数体中可以用return返回。如果在外面用则会报错。另外在awk中没有直接的引用传递参数。不过可以通过数组来作为形参传递,因为数组本来就是引用的地址。

   )awk内建函数主要有输出函数,字符串函数,算术函数。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值