【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程序并返回到命令行界面。

相关推荐
极梦网络无忧21 小时前
real-ai-editor:一款轻量、智能的纯前端 AI 富文本与 Markdown 编辑器
前端·人工智能·编辑器
longerxin20202 天前
nano编辑器插入、编辑完整操作教程(Linux日志/配置专用)
linux·运维·编辑器
寒水馨2 天前
Windows下载、安装neovim-v0.12.4(附安装包nvim-win64.msi)
windows·编辑器·vim·lua·终端·lsp·neovim
●VON3 天前
鸿蒙 PC Markdown 编辑器内核:在 ArkWeb 中离线运行 CodeMirror 6
安全·华为·编辑器·harmonyos·鸿蒙
●VON4 天前
鸿蒙 PC Markdown 编辑器存储安全:AtomicFile 原子提交与故障注入
安全·华为·编辑器·harmonyos·鸿蒙
●VON4 天前
鸿蒙 PC Markdown 编辑器 Alpha 评审:如何用退出条件判断阶段完成
网络·安全·华为·编辑器·harmonyos·鸿蒙
MGS浪疯4 天前
我用 WorkBuddy 做了一个能记住前文的 AI 小说编辑器
人工智能·编辑器·腾讯云·腾讯云ai代码助手·workbuddy开发者分享季·codebuddy开发者分享季
●VON4 天前
鸿蒙 PC Markdown 编辑器 Bridge 协议:原生外壳与 Web 内核的状态同步
前端·华为·编辑器·harmonyos·鸿蒙
●VON5 天前
鸿蒙 PC Markdown 编辑器原生右键弹层兼容
安全·华为·编辑器·harmonyos·鸿蒙
●VON5 天前
鸿蒙 PC Markdown 编辑器系统浏览器与图片查看器独立验收
华为·编辑器·harmonyos·鸿蒙