Shell之awk详解

  • Post author:
  • Post category:其他




一.基本介绍


1.awk:

awk是一个强大的文本分析工具,在对文本文件的处理以及生成报表,awk是无可替代的。awk认为文本文件都是结构化的,它将每一个输入行定义为一个记录,行中的每个字符串定义为一个域(段),域和域之间使用分割符分割。



2.功能:

流控制、数学运算、进程控制、内置的变量和函数、循环和判断



3.工作原理:

awk 会把每行进行一个拆分,用相应的命令对拆分出来的“段”进行处理。

(1)行工作模式,读入文件的每一行,会把一行的内容,存到$0里

(2)使用内置的变量FS(段的分隔符,默认用的是空白字符),分割这一行,把分割出来的每个段存到相应的变量$(1-100)

(3)输出的时候按照内置变量OFS(out FS),输出

(4)读入下一行继续操作

简单实例

[root@tx3 ~]# echo “this is a book” > awk.txt

[root@tx3 ~]# awk ‘{print $2,$1,$3,$4}’ awk.txt

is this a book



4.   Awk常用内置变量表:

1 $0             当前记录(作为单个变量)

2 $1~$n          当前记录的第n个字段,字段间由FS分隔

3 FS             输入字段分隔符 默认是空格



版权声明:本文为qq_23668615原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。