【Linux】gawk编辑器

一、基本介绍

相较于sed编辑器来说,gawk提供了一种编程语言,而不仅仅是编辑器命令。

在gawk编程语言中,可以实现以下操作:

  1. 定义变量来保存数据;
  2. 使用算术和字符串运算符来处理数据;
  3. 使用结构化编程语法(如:if-then语句和循环)为数据处理添加处理的逻辑;
  4. 提取文件中的数据将其重新排列组合,最后生成格式化报告。

gawk的报告生成能力多用于从大文本文件中提取数据并将其格式化为可读性报告,最完美的应用案例就是格式化日志文件,gawk能从日志文件中过滤出所需的数据,并将其格式化,以便于阅读。

格式:

gawk options program file

|--------------------|-------------------|
| -F fs | 指定行中划分数据字段的字段分隔符 |
| -f file | 从指定文件中读取gawk脚本代码 |
| -v var=value | 定义gawk脚本中的变量及其默认值 |
| -L [keyword] | 指定gawk的兼容模式或警告级别 |
[gawk选项]

1、从命令行中读取gawk脚本

gawk脚本用一对花括号定义,必须将脚本命令放到一对花括号({})之间。由于gawk命令行假定脚本是单个文本字符串,所以还必须将脚本放到单引号中。

bash 复制代码
gawk '{print "hello world"}'

由于没有在命令行中指定文件名,所以gawk程序会从STDIN接收数据,在上面的脚本运行时,它就会一直等待来自STDIN的文本。

用户需要输入一行文本并按Enter键,这样gawk才会对这行文本执行一遍脚本。由于此脚本设为显示一行固定的字符串,因此不管在数据流中输入什么文本,都会得到同样的输出。如下所示:

要终止这个gawk程序,就必须表明数据量已经结束。bash shell提供了Ctrl+D 组合键来生成EOF(end-of-file)字符,通过使用它便可以终止gawk程序并返回到命令行界面。

相关推荐
Thomas_YXQ4 小时前
Unity3D SM节点式动画技能编辑器实现
开发语言·游戏·unity·编辑器·游戏引擎
fydw_7154 小时前
Jinja2 模板在 Python 和 LLM 提示词编辑器中的应用
开发语言·python·编辑器
潇-xiao5 小时前
vim的相关命令 + 三种模式(10)
linux·编辑器·vim
程序猿小D6 小时前
第28节 Node.js 文件系统
服务器·前端·javascript·vscode·node.js·编辑器·vim
kooboo china.9 小时前
什么是JSON ?从核心语法到编辑器
javascript·编辑器·json
waterHBO19 小时前
Cursor 编辑器, 使用技巧,简单记录一下
windows·编辑器
程序猿小D1 天前
第24节 Node.js 连接 MongoDB
数据库·mongodb·npm·node.js·编辑器·vim·express
FL16238631291 天前
VScode打开后一直显示正在重新激活终端 问题的解决方法
ide·vscode·编辑器
程序猿小D1 天前
第26节 Node.js 事件
服务器·前端·javascript·node.js·编辑器·ecmascript·vim
朝阳391 天前
Electron-vite【实战】MD 编辑器 -- 编辑区(含工具条、自定义右键快捷菜单、快捷键编辑、拖拽打开文件等)
javascript·electron·编辑器