标签:
调用awk有三种方法(与sed类似):
awk [-F 域分隔符] ‘awk程序段’ 输入文件
awk -f awk脚本文件输入文件
./awk脚本文件输入文件
注:第二种方法脚本文件的首行不以#!/bin/awk –f开头;第三种方法脚本文件的首行是#!/bin/awk –f
awk语句由模式(pattern)和动作(action)组成。模式决定动作何时触发和触发事件,动作执行对输入行的处理。
模式部分:^$,是正则表达式,表示空白行;
动作部分:花括号中的部分,打印操作。
awk认为输入文件是结构化的,awk将每个输入文件行定义为记录,行中的每个字符串定义为域,域之间用空格、Tab键或其他符号进行分割,分割域的符号就叫分隔符。
打印第一、二哥域
关系运算符
| 运算符 | 意义 |
| < | 小于 |
| > | 大于 |
| <= | 小于等于 |
| >= | 大于等于 |
| == | 等于 |
| != | 不等于 |
| ~ | 匹配正则表达式 |
| !~ | 不匹配正则表达式 |
布尔运算符
| 运算符 | 意义 |
| || | 逻辑或 |
| && | 逻辑与 |
| ! | 逻辑非 |
打印/etc/passwd中第一个域匹配root关键字的记录
| 运算符 | 意义 |
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 模 |
| ^或** | 乘方 |
| ++x | 在返回x值之前,x变量加1 |
| x++ | 在返回x值之后,x变量加1 |
awk借鉴C语言的语法,定义了printf输出语句,它可以规定输出的格式
| 修饰符 | 意义 |
| - | 左对齐 |
| width | 域的步长 |
| .prec | 小数点右边的位数 |
| 运算符 | 意义 |
| %c | ASCII字符 |
| %d | 整型数 |
| %e | 浮点数,科学记数法 |
| %f | 浮点数 |
| %o | 八进制数 |
| %s | 字符串 |
| %x | 十六进制数 |
打印第一个域的内容
标签:
原文地址:http://www.cnblogs.com/boyiliushui/p/5615557.html