awk

awk编程模型

正则表达式的扩展
awk Perl等还支持正则表达式扩展出来的一些元字符
| 符号 | 意义 |
|---|---|
| ? | 匹配0个或1个在其之前的字符 |
| + | 匹配一个或多个在其之前的字符 |
| ( ) | 表示一个字符集合或用在expr中 |
| 竖线 | 表示或,匹配一组可选的字符 |
awk模式匹配

1.将模式和动作写在terminal里面 后面接一个文件

2.-f 将awk写在一个文件里

3.以awk脚本的形式来执行awk命令

记录和域

1.域 $ +数字

2.$0所有域

3.$后跟表达式

4.tab被默认为连续的空格

5.-F 改变分隔符 以tab键为例


6.用+号,不管有多少个tab ,都看成一个tab键


7.环境变量FS和BEGIN改变分隔符

关系和布尔运算

1.匹配正则表达式

2.awk与条件语句(if if-else)

多条件精确匹配

表达式

1.统计input文件中的空白行


2.平均值的计算


系统变量



格式化输出

1.分隔换行输出
- $2,$8表字符串 第二个域 第八个域
- \t 代表tab键
-\n 每输出两个域换行

2.awk的ascii字符与字符型字符的转换

3.printf 修饰符
-15表示字符串长度控制为为15位,左对齐,若字符串不足15位,则用空格补充。

内置字符串函数

1.OFS表示替换完成之后默认的输出的分隔域是什么,默认是空格


2.index:首位值 length:长度

练习
1.

2.

3.

4.

5.

7.

8.



549

被折叠的 条评论
为什么被折叠?



