awk是一个强大的数据处理引擎,相对于grep的查找,sed的编辑,awk对数据的分析和生成的报告更强大
- awk 命令处理一个或者多个文件的时候,它会依次读取文件的每一行内容, 然后对其进行处理
- awk 命令默认从 stdio 标准输入获取文件内容
- awk 使用一对单引号来表示 一些可执行的脚本代码
- 在可执行脚本代码里面,使用一对花括号来表示一段可执行代码块,可以同时存在多个代码块
- awk 的每个花括号内同时又可以有多个指令,每一个指令用分号分隔
awk 其实就是一个脚本编程语言
请记住 awk 是针对文件的每一行来执行一次单引号 里面的脚本代码,每读取到一行就会执行一次,文件里面有多少行就会执行多少次,但 BEGIN 和 END 关键字后面的 脚本代码除外,如果被处理的文件中什么都没有,那 awk 就一次都不会执行
1–awk命令的基本格式
awk [options] 'program' file
- options 表示一些可选的参数选项(可选)
- program 表示 awk 的可执行脚本代码(必选)【单引号】【花括号里面的是可执行脚本代码】
- file 表示 awk 需要处理的文件(注意是纯文本文件)
实战例子
$ awk '{print $0}' /etc/passwd
- 可执行脚本代码使用单引号括起来
- 花括号里面就是一些可执行的脚本代码段
当 awk 每读取一行之后,它会依次执行双引号里面的每个脚本代码段
2–awk 自定义分隔符
1、awk 默认的分割符为空格和制表符,可以使用 -F 参数来指定分隔符
实战例子
$ awk -F ':' '{print $1}' /etc/passwd
上面的命令将 /etc/passwd 文件中