news 2026/3/7 23:35:43

43、gawk:发展、安装与使用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
43、gawk:发展、安装与使用指南

gawk:发展、安装与使用指南

1. gawk的正则范围解释与发展历程

在gawk的发展过程中,正则表达式范围解释曾是一个令人困扰的问题。早期,gawk使用的正则匹配代码不支持本地化,范围具有传统的解释方式。然而,当gawk转向使用支持本地化的正则匹配器时,问题便接踵而至。特别是随着GNU/Linux和商用Unix供应商开始实现非ASCII本地化设置并将其设为默认,用户经常会问“为什么‘[A - Z]’会匹配小写字母?”这样的问题。

这种情况持续了将近10年之久,gawk维护者疲于向用户解释gawk是符合标准的,问题出在用户的本地化设置上。在gawk 4.0版本开发期间,维护者对其进行了修改,除非使用--posix选项,否则gawk总是以POSIX标准之前的方式处理范围。

幸运的是,在gawk 4.0最终发布前不久,维护者了解到2008年的标准已经改变了范围的定义,即在“C”和“POSIX”本地化设置之外,范围表达式的含义未被定义。这使得实现者可以自由选择如何实现范围解释。gawk维护者选择在默认的正则匹配以及使用--traditional--posix选项时,都应用POSIX标准之前的含义,并且在所有情况下gawk都保持与POSIX标准兼容。

由此,“合理范围解释(Rational Range Interpretation,简称RRI)”运动诞生,许多GNU工具已经或即将实现这一改变。

2. gawk的主要贡献者

gawk的发展离不开众多开发者的贡献,以下是按大致时间顺序列出的主要贡献者:
| 贡献者

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/7 14:35:27

Java Web 核心全解析

Java Web 是基于 Java 技术栈构建 Web 应用的开发体系,涵盖前端交互、后端逻辑、服务器部署、数据存储等全链路,是企业级应用(电商、金融、政务等)的主流开发方案,以下从核心架构、技术栈、开发流程、主流框架等维度拆…

作者头像 李华
网站建设 2026/3/6 2:39:27

7、远程服务安全攻防全解析

远程服务安全攻防全解析 一、服务识别与基础脚本 1.1 脚本执行与服务识别 在网络安全的探索中,我们常常需要借助特定的脚本来进行服务识别。例如,有一个名为 wrapper - grab.bash 的脚本,它能够针对 hosts.txt 文件中列出的主机执行原始脚本 grab.bash 。 hosts.t…

作者头像 李华
网站建设 2026/3/6 9:38:55

18、网络安全防护:psad与fwsnort的应用与集成

网络安全防护:psad与fwsnort的应用与集成 一、psad应对网络攻击的机制 1.1 FIN扫描响应 当攻击者确认目标运行着可访问的TCP服务器后,可能会测试主动响应软件对TCP的严格程度,例如发送盲FIN数据包。使用Nmap进行FIN扫描时: [ext_scanner]# nmap -sF -P0 -p 80 -n 71.1…

作者头像 李华
网站建设 2026/3/6 9:38:54

30、深入探索fwknop:安全访问与防护机制详解

深入探索fwknop:安全访问与防护机制详解 1. fwknop基础功能与iptables配置 fwknop服务器可对iptables进行重新配置,以允许在30秒内访问SSHD服务。之后,fwknopd会从FWKNOP_INPUT链中删除ACCEPT规则。即便多数SSH连接时长超过30秒,但只要启用Netfilter连接跟踪功能,就能保…

作者头像 李华
网站建设 2026/3/6 9:38:52

31、编程技巧与实用程序解析

编程技巧与实用程序解析 在编程领域,有许多实用的技巧和程序可以帮助我们更高效地完成任务。本文将介绍一些常见的编程技巧和实用程序,包括文件处理、流编辑、库函数使用以及寻找变位词等方面。 1. 文件处理与输出重定向 在编程中,文件处理是一项常见的任务。有时候我们需…

作者头像 李华
网站建设 2026/3/6 9:38:50

38、深入探索 gawk 扩展开发:性能优化与功能定制

深入探索 gawk 扩展开发:性能优化与功能定制 1. 变量访问性能优化 在 gawk 中,每次访问和修改变量时,会有性能损耗,因为 gawk 必须每次都查找变量。这并非只是理论问题,而是实际存在的性能瓶颈。 为了解决这个问题,如果你的扩展需要花费大量时间读取和/或修改变量的值,…

作者头像 李华