awk不仅仅是Linux系统中的一个命令,而且是一种编程语言,可以用来处理数据和生成报告(excel),处理的数据可以是一个或多个文件,可以是来自标准输入,也可以通过管道获取标准输入,awk可以在命令行上直接编辑命令进行操作,也可以编写成awk程序来进行更为复杂的运用。
awk [options] 'pattern {action}'
参数 模式 动作
awk '{print $0}' test :$0 默认输出所有。
awk 'NR==2' test :默认输出第二行所有内容。
' ' 单引号里的条件分两部分:
1,横切:按行切割文件的内容。(也就是awk的“模式”,横向截取文件内容)
2,竖切:按列切割文件的内容。(也就是awk的“动作”,竖向截取文件内容)
awk在截取文件的内容时,遵循先横切,再竖切。(没有模式时,默认输出所有行。没有动作时,默认输出所有列)
awk 'NR>2&&NR<5' test :输出大于2小于5的行(第三第四行)
竖切时,按列:$1,$1-10,$0 。$0代表所有列。
awk默认按空格来分割列,但是我们可以只用分割符号。
awk -F “:” 指定冒号为分裂符号。