今天介绍Linux常见的一个命令awk,一门模式匹配的编程语言,因为它的主要功能是用于匹配文本并处理,同时它有一些编程语言才有的语法,例如函数、分支循环语句、变量等等。当然比起我们常见的编程语言,awk相对比较简单,那我们就一起看看吧。
![ac8131cad689786b13a39d06bd1cea78.png](https://i-blog.csdnimg.cn/blog_migrate/a013a75ce3e05cb27f49b391f5bdc779.png)
awk
一
命令
awk处理过程:
![f23d5c9d010a7a244ec87014baaeec76.png](https://i-blog.csdnimg.cn/blog_migrate/d3e8cb7b56ff89843a0c071fd061294e.png)
依次对每一行进行处理,然后输出。
awk命令形式:
![f23d5c9d010a7a244ec87014baaeec76.png](https://i-blog.csdnimg.cn/blog_migrate/d3e8cb7b56ff89843a0c071fd061294e.png)
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file
[-F|-f|-v] -F指定分隔符,-f调用脚本,-v定义变量 var=value
' ' 引用代码块
BEGIN 在逐行处理之前初始化代码,主要是引用全局变量,如FS设置分隔符等
// 匹配代码块,可以是字符串或正则表达式
{} 命令代码块,包含一条或多条命令
; 多条命令使用分号分隔
END 在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息
二
各个命令注解
实例文件for_awk.txt内容如下:
![ca86cd64a601ab11b307dcecb2e18d51.png](https://i-blog.csdnimg.cn/blog_migrate/c94c0a2fff7c08a5942c93c48bfea0b0.png)
2.1
-f 指定脚