Awk:
awk 语法: awk 模式 {操作}
模式: 正则, 关系表达式, 模式, BEGIN,END,
操作: 由 命令函数表达式组成了
文本源文件 scores.txt
执行 awk 的方式:
1. 命令行下执行
2. 执行 awk 脚本 awk -f 脚本名 文件名
3. 可执行 awk 脚本
AWK 的模式匹配:
1. 使用正则模式打印出 T 开头的行, 只取第一列
2. 区间模式, 即模式一和模式二中间的行会被匹配到
3.BEGIN 模式, 在读取文件行之前操作的 (可以把一些文件描述, 变量等写在此模式)
4.END 模式, 在结束时操作的, 跟 BEGIN 相反
写一个关于 BEGIN 和 END 的脚本:
注意一个细节问题:
在脚本中, 模式不用加引号, 而操作还是需要{ }, 并且{需要和模式在一行
一个模式中有多个操作, 那就换行写
在命令行下面 , 一个引号里边有模式, 和操作 两个模式用分号; 隔开
awk 中系统内置变量
(记录大多时候 = 行)
$0 当前正在处理的记录
$n 第几个字段
NF 当前记录的字段数
NR 已经读了几条记录
FILENAM 文件名
FS 字段分隔符
RS 记录分隔符 默认: 换行符
例子: 源文件 articles.txt
重新设置分隔符:
AWK 中也可以支持运算符和表达式
如
- BEGIN {
- x=5/2
- print x
- }
条件表达式:
语法: expression?value1:value2
关系运算符
,<,==, ~,!~, 等等
8==8 {print} 即 如果 8=8 为真, 就执行 print 操作
例子 :~ 是匹配的意思
下面是指: 匹配第一个字段 (列) 以 K 开头的记录 打印出来
来源: http://www.bubuko.com/infodetail-2517088.html