awk工具
前言
命令形式
awk '条件类型1{动作1}条件类型2{动作2}...' filename
awk主要是处理每一行的栏位内的资料,预设的分隔符号为空格或者制表符。
例子:列出ssh最后五条登陆记录,并用awk只显示登陆用户名、登陆时间和登陆ip。命令last -n 5 | egrep -v "reboot|^$|wtmp" | awk '{print $1 "\t" $5" "$6" "$7 "\t" $3}'
awk一般处理流程
一般awk的处理流程如下:
- 读入一行,并根据分隔符进行分割,一次用$1、$2……表示(注意:$0表示的该行完整内容);
- 根据条件类型,决定后面紧跟的动作是否进行;
- 完成所用的条件判断及符合条件的动作执行;
- 如果后续还有内容则选择下一行继续进行1处理
awk内建变量
以下为常用的内建变量名称,详细的内建变量名称可以通过man awk
查询。
内建变量名称 | 含义 |
---|---|
NF | 每一行分割之后的栏位个数 |
NR | 目前处理字符串的行数 |
FS | 目前的分隔字符 |
awk逻辑运算符
逻辑运算符使用在条件类型中,用于判断条件,是否执行后边的动作命令。
运算符 | 含义 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
使用的注意事项
awk指令的间隔:所用的awk命令都用’{}’括起来,如果在一个动作中使用多个命令,则使用’;’间隔,或者使用回车换行间隔。
参考资料
鸟叔的linux私房菜:< http://linux.vbird.org/ >
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 qinzhtao@163.com
文章标题:awk工具
文章字数:432
本文作者:捌叁壹伍
发布时间:2019-10-18, 00:47:46
最后更新:2019-11-17, 17:38:35
原始链接:http://qzt8315.github.io/2019/10/18/awk工具/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。