首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
文本编辑awk的一些初略认知
时间:
2019-01-31 20:44:57
阅读:
184
评论:
0
收藏:
0
[点我收藏+]
标签:
一个
格式
重复
att
mfile
new
print
决定
工作
awk介绍
awk:Aho, Weinberger, Kernighan,报告生成器,格式化文本输出
有多种版本:New awk(nawk),GNU awk( gawk)(一般默认是gawk)
gawk:模式扫描和处理语言
基本用法:
选项 ‘ 处理方式‘ 文件
awk [options] ‘program’ var=value file…
awk [options] -f programfile var=value file…
处理文本前执行 处理文本的模式 处理完文本后执行
awk [options] ‘BEGIN{ action;… } pattern{ action;… } END{ action;… }‘ file ...
awk 程序通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块,共3部
分组成
program通常是被单引号或双引号中
选项:
-F 指明输入时用到的字段分隔符
-v var=value: 自定义变量
awk语言
基本格式:awk [options] ‘program‘ file…
program:pattern{action statements;..}
pattern和action:
? pattern部分决定动作语句何时触发及触发事件
BEGIN,END
? action statements对数据进行处理,放在{}内指明
print, printf
分割符、域和记录
? awk执行时,由分隔符分隔的字段(域)标记$1,$2..$n称为
域标识。$0为所有域,注意:和shell中变量$符含义不同
? 文件的每一行称为记录
? 省略action,则默认执行 print $0 的操作(即是默认以回车结束的一行)
awk工作原理
第一步:执行BEGIN{action;… }语句块中的语句
第二步:从文件或标准输入(stdin)读取一行,然后执行
pattern{ action;… }语句块,它逐行扫描文件,从第一行到最后一
行重复这个过程,直到文件全部被读取完毕。
第三步:当读至输入流末尾时,执行END{action;…}语句块
BEGIN语句块在awk开始从输入流中读取行之前被执行,这是一个
可选的语句块,比如变量初始化、打印输出表格的表头等语句通常
可以写在BEGIN语句块中
END语句块在awk从输入流中读取完所有的行之后即被执行,比如
打印所有行的分析结果这类信息汇总都是在END语句块中完成,它
也是一个可选语句块
pattern语句块中的通用命令是最重要的部分,也是可选的。如果没
有提供pattern语句块,则默认执行{ print } ,即打印每一个读取到的
行,awk读取的每一行都会执行该语句块
awk
print格式: print item1, item2, ...
要点:
(1) 逗号分隔符
?(2) 输出的各item可以字符串,也可以是数值;当前记录的字段、变量或awk的表达式
?(3) 如省略item,相当于print $0
示例:
awk ‘{print "hello,awk"}‘ 输出就是hello,awk
awk –F: ‘{print}‘ /etc/passwd 将passwd的每一个以回车的行用:进行分割
文本编辑awk的一些初略认知
标签:
一个
格式
重复
att
mfile
new
print
决定
工作
原文地址:http://blog.51cto.com/14167037/2348279
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!