You've already forked www.colben.cn
update
This commit is contained in:
@@ -7,11 +7,11 @@ tags: ["awk"]
|
||||
categories: ["shell"]
|
||||
---
|
||||
|
||||
# 格式
|
||||
## 格式
|
||||
- awk -F '分隔符正则' -v 变量名=值 'BEGIN{动作} 条件{动作} END{动作}' 文件1 文件2 ...
|
||||
- awk -F '分隔符正则' -f awk脚本文件名 文件1 文件2 ...
|
||||
|
||||
# 常用内置变量
|
||||
## 常用内置变量
|
||||
变量 | 说明
|
||||
---- | ----
|
||||
$0 | 当前记录
|
||||
@@ -33,8 +33,8 @@ OFMT | 数字的输出格式(默认值是%.6g)
|
||||
RSTART | 被 match 匹配函数匹配的字符串位置
|
||||
RLENGTH | 被 match 匹配函数匹配的字符串长度
|
||||
|
||||
# 函数
|
||||
## 常用内置函数
|
||||
## 函数
|
||||
### 常用内置函数
|
||||
函数 | 说明
|
||||
---- | ----
|
||||
int(x) | 返回 x 的整数部分
|
||||
@@ -58,7 +58,7 @@ nextfile | 停止处理当前文件,开始处理下一个文件
|
||||
system(shell-command) | 返回命令退出状态
|
||||
exit n | 终止 awk,返回 n
|
||||
|
||||
## 自定义函数
|
||||
### 自定义函数
|
||||
- 格式
|
||||
```awk
|
||||
function fun_name(arg1, arg2, ...){
|
||||
@@ -67,7 +67,7 @@ exit n | 终止 awk,返回 n
|
||||
}
|
||||
```
|
||||
|
||||
# 判断语句
|
||||
## 判断语句
|
||||
```awk
|
||||
if(条件){
|
||||
# 语句
|
||||
@@ -78,7 +78,7 @@ exit n | 终止 awk,返回 n
|
||||
}
|
||||
```
|
||||
|
||||
# 循环语句
|
||||
## 循环语句
|
||||
- for
|
||||
```awk
|
||||
for(初始化;条件;变化){
|
||||
@@ -103,7 +103,7 @@ exit n | 终止 awk,返回 n
|
||||
- break 退出当前循环体
|
||||
- continue 退出本次循环,继续下一次循环
|
||||
|
||||
# 脚本
|
||||
## 脚本
|
||||
```awk
|
||||
#!/usr/bin/awk -f
|
||||
|
||||
@@ -122,7 +122,7 @@ exit n | 终止 awk,返回 n
|
||||
}
|
||||
```
|
||||
|
||||
# 其他说明
|
||||
## 其他说明
|
||||
- 变量在使用时直接赋值即可,无需提前声明或定义
|
||||
- 个人认为,awk 没有数组只有字典,数组是键为整数的字典
|
||||
- 运算符(+, -, \*, /, ++, -- 等)和关系符操作(>, >=, <, <=, ~, !~ 等)与 C 基本一致,也支持三目运算符(条件?值1:值2)
|
||||
@@ -134,7 +134,7 @@ exit n | 终止 awk,返回 n
|
||||
# 输出 abcd
|
||||
```
|
||||
|
||||
# 参考
|
||||
## 参考
|
||||
- man awk
|
||||
- [其他内置函数](https://www.gnu.org/software/gawk/manual/html_node/Built_002din.html#Built_002din)
|
||||
- [gnu awk 手册](https://www.gnu.org/software/gawk/manual/gawk.html)
|
||||
|
Reference in New Issue
Block a user