shell脚本之awk详解

基本介绍

1.awk:

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

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

3.工作原理:
awk 会把每行进行一个拆分,用相应的命令对拆分出来的“段”进行处理
(1)行工作模式,读入文件的每一行,会把一行的内容,存到 0 里 ( 2 ) 使 用 内 置 的 变 量 F S ( 段 的 分 隔 符 , 默 认 用 的 是 空 白 字 符 ) , 分 割 这 一 行 , 把 分 割 出 来 的 每 个 段 存 到 相 应 的 变 量 0里 (2)使用内置的变量FS(段的分隔符,默认用的是空白字符),分割这一行,把分割出来的每个段存到相应的变量 02使FS()(1-100)
(3)输出的时候按照内置变量OFS(out FS),输出
(4)读入下一行继续操作简单实例
[root@zyf ~]# echo “this is a book” > awk.txt
[root@zyf ~]# awk ‘{print $2,$1,$3,$4}’ awk.txtis this a book

4。 Awk常用内置变量表
1 $0 当前记录(作为单个变量)
2 1   1~ 1 n 当前记录的第n个字段,字段间由FS分隔
3 FS 输入字段分隔符 默认是空格
4 NF 当前记录中的字段个数,就是有多少列
5 NR 已经读出的记录数,就是行号,从1开始
6 RS 输入的记录他隔符默 认为换行符
7 OFS 输出字段分隔符 默认也是空格
8 ORS 输出的记录分隔符,默认为换行符
9 ARGC 命令行参数个数
10 ARGV 命令行参数数组

你可能感兴趣的:(shell脚本之awk详解)