AWK
编辑AWK 是一种用于处理和评估任何文本数据的编程语言,例如 还有 CSV 文件。 关联的解释器更像是一个编译器,因为程序文本首先被完全编译然后执行。 AWK 主要设计为报告生成器,是最早出现在 Unix 版本 3 中的工具之一。 AWK 可以看作是流编辑器 sed 的演变或扩展,共享某些语法元素,例如正则表达式。 然而,与 sed 相比,AWK 中提供了类似 C 的结构(if .. then .. else、各种循环、C 格式......),这允许更简单的程序结构。 在最小应用程序中,AWK 用于 shell 脚本,例如将文件名放在一起作为过滤器。 使用更详细的程序,可以编辑、重塑或评估文本文件。 除了通常的字符串函数外,还提供基本的数学函数。
现在几乎每个类 Unix 系统中都可以找到 AWK 的一个版本,并且通常是预装的。 类似的程序也可用于几乎所有其他操作系统。
该语言几乎只适用于数据类型字符串。 此外,关联数组(即用字符串索引的数组,也称为散列)和正则表达式是该语言的基本部分。
AWK 和 sed 脚本的强大、紧凑以及局限性启发了 Larry Wall 开发 Perl 语言。
程序结构
编辑AWK 程序的典型执行包括对输入文本执行操作(例如替换)。 为此,逐行阅读文本并使用选定的分隔符将文本分成多个字段——通常是一系列空格和/或制表符。 然后将 AWK 指令应用于相应的行。
AWK 指令具有以下结构:
条件{语句块}
判断读取的行是否满足条件(通常是正则表达式)。 如果满足条件,则执行花括号括起来的语句块中的代码。
变量和函数
编辑用户可以通过引用在语句块中定义变量,不需要显式声明。 变量的范围是全局的。 一个例外是函数参数,其有效性仅限于定义它们的函数。
函数可以在任何地方定义,xxx次使用前不必声明。 如果涉及标量,则函数参数作为值参数传递,否则作为引用参数传递。 调用函数时的参数不必与函数定义相对应,多余的参数被视为局部变量,省略的参数提供特殊值未初始化 - 数字零和空字符串的值作为字符串。
各种函数和变量使用相同的命名空间,因此以相同的方式命名它们会导致未定义的行为。
命令
编辑AWK 的语法类似于 C 编程语言,基本命令是对变量的赋值、变量之间的比较和循环或条件命令执行(if-else)。 也有对xxx实施和自编程功能的调用。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/371988/