Shell gawk编辑器

gawk程序是Unix中原始awk程序的GNU版本,提供的是一种编程语言,而不只是编辑器命令。
gawk的功能:
  • 定义变量保存数据
  • 使用算术和字符串操作符来处理数据
  • 使用结构化编程概念
  • 通过提取数据文件中的数据元素,将其重新排列或格式化,生成格式化报告
gawk命令格式
gawk options  program file

gawk的选项:

选项 功能
-F  fs 指定行中划分数据字段的字段分隔符
-f   file 从指定的文件中读取程序
-v  var=value 定义gawk程序中的变量及默认值
-mf  N 指定数据文件中的最大字段数
-wr  N 指定数据文件中的最大数据行数
-w   keyword 指定gawk的兼容模式或警告等级

 注意:gawk脚本格式:需要使用单引号(' ')和大括号({})

gawk '{  command   }'

单输入这行命令不会产生反应,需要按下回车(可输入内容)才会输出    hello world

Shell gawk编辑器_第1张图片

 终止命令:ctrl + d

使用数据字段表示:

gawk把每一行的每个数据元素分配一个变量。在文本行中,每个数据字段都是通过字段分隔符划分的

gawk在读取一行文本时,会用预定义的字段分隔符划分每个数据字段。gawk中默认的字段分隔符是任意的空白字符(例如空格或制 表符)。

  • $0  代表整个文本行
  • $1  代表第一个数据字段
  • $2  代表第二个数据字段
  • $n  代表第n个字段

例子:输出每行第一个数据字段

Shell gawk编辑器_第2张图片

1. 使用 -F 分隔符 来设置分隔符(注意分隔符后面需要有空格)

Shell gawk编辑器_第3张图片

Shell gawk编辑器_第4张图片

2.使用多个命令

Shell gawk编辑器_第5张图片

 3.从文件中读取命令

一行指令:

多行指令:(注意: 在gawk中使用print输出变量不需要使用$)

 4.在处理数据前后运行脚本

BEGIN:在处理数据前运行

END   : 在处理数据后运行

Shell gawk编辑器_第6张图片

Shell gawk编辑器_第7张图片

你可能感兴趣的:(Shell,linux)