首页 > 其他分享 >无涯教程-AWK - 简介

无涯教程-AWK - 简介

时间:2023-10-21 13:32:43浏览次数:34  
标签:教程 语言 GNU 无涯 文本处理 AWK 版本 Linux

AWK是一种优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识。AWK提供了极其强大的功能:可以进行正则表达式的匹配,样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上AWK的确拥有自己的语言:AWK程序设计语言,三位创建者已将它正式定义为“样式扫描和处理语言”。它允许创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。gawk是AWK的GNU版本。

最简单地说,AWK是一种用于处理文本的编程语言工具。AWK在很多方面类似于Unix Shell编程语言,尽管AWK具有完全属于其本身的语法。它的设计思想来源于SNOBOL4、sed、Marc Rochkind设计的有效性语言、语言工具yacc和lex,当然还从C语言中获取了一些优秀的思想。在最初创造AWK时,其目的是用于文本处理,并且这种语言的基础是,只要在输入数据中有模式匹配,就执行一系列指令。该实用工具扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式。如果发现匹配内容,则进行下一个编程步骤。如果找不到匹配内容,则继续处理下一行。

GNU/Linux发行的AWK版本由自由软件基金会(FSF)编写和维护,它通常称为 GNU AWK。

AWK类型

以下是AWK的变体-

  • AWK     -  AT&T实验室的原始AWK。

  • NAWK  -  AT&T实验室的AWK的新版本和改进版本。

  • GAWK  -  它是GNU AWK,所有GNU/Linux发行版均随附GAWK,它与AWK和NAWK完全兼容。

AWK用途

AWK可以完成无数的任务,下面列出的只是其中的一些-

  • 文本处理
  • 生成格式化的文本报告,
  • 执行算术运算
  • 执行字符串操作,等等。

参考链接

https://www.learnfk.com/awk/awk-overview.html

标签:教程,语言,GNU,无涯,文本处理,AWK,版本,Linux
From: https://blog.51cto.com/u_14033984/7966633

相关文章

  • 无涯教程-Arduino - Multi-Dimensional Arrays函数
    具有二维的数组(即下标)通常表示由以行和列排列的信息组成的值表。intb[2][2]={{1,2},{3,4}};这些值按大括号按行分组,因此,1和2分别初始化b[0][0]和b[0][1],而3和4分别初始化b[1][0]和b[1][1],如果给定行的初始化程序不足,则将该行的其余元素初始化为0。因此......
  • 无涯教程-Arduino - micros()函数
    micros()函数返回从Arduino开发板开始运行当前程序起的毫秒数,该数字溢出,即大约70分钟后恢复为零。micros-语法micros();此函数返回自程序启动以来的微秒数(无符号长)micros-示例unsignedlongtime;voidsetup(){Serial.begin(9600);}voidloop(){......
  • FreeRTOS入门教程(事件组概念和函数使用)
    (文章目录)前言本篇文章将带大家学习什么是事件组以及如何使用事件组。一、事件组概念事件组通常是由一组位(bits)组成的数据结构,其中每一位都对应着某个特定的事件。每个位可以被设置或清除,表示相应的事件发生或未发生。这种位的组合形成了一个类似于二进制数的集合,每个位都代......
  • 无涯教程-Arduino - delayMicroseconds()函数
    delayMicroseconds()函数接受一个整数(或数字)参数,该数字表示时间,以微秒为单位,一毫秒有一千微秒,一秒有一百万微秒。当前,可以产生准确延迟的最大值是16383,这可能会在将来的Arduino版本中改变,对于超过几千微秒的延迟,应改为使用delay()函数。delayMicroseconds-语法delayMicr......
  • 无涯教程-Arduino - for语句函数
    for循环执行语句预定次数。forloop-语法for(initialize;control;incrementordecrement){//语句块}forloop-示例for(counter=2;counter<=9;counter++){//statements块将执行10次}forloop-执行序列参考链接https://www.learnfk.com/arduin......
  • 无涯教程-Arduino - while语句函数
    while循环将连续且无限地循环,直到括号()中的表达式变为false为止,必须更改测试变量,否则while循环将永远不会退出。whileloop-while-语法while(expression){Blockofstatements;}whileloop-while-执行序列参考链接https://www.learnfk.com/arduino/arduino-w......
  • 无涯教程-Arduino - switch case语句函数
    与if语句类似,switch...case通过允许程序员指定应在各种条件下执行的不同代码来控制程序的流程,break关键字使switch语句退出,并且通常在每种情况下使用。switchcase-语法switch(variable){caselabel://statementsbreak;}caselabel:{//statemen......
  • python3.12安装pyqt6教程
    1.开发环境:win11,Pycharm2023.2.32.python版本:Python3.12.03.Installationpackage#python.exe-mpipinstall--upgradepip#pipinstallxlrd#pipinstallxlwt#pipinstallpyserial#pipinstallturtle==0.0.1下载2个包文件然后安装https://github.com/altendky......
  • 转:Shader入门教程实例-TheBookOfShaders For CocosCreator
    简介《TheBookofShaders》是一本关于片段着色器(FragmentShader)的入门指南,由PatricioGonzalezVivo编写,从零开始讲述了如何通过Shader来完成图形图像的绘制。本项目使用CocosCreator2.1.2实现了书中的大部分Shader示例,代码地址:[email protected]:foupwang/ShadersBookForCoco......
  • 无涯教程-Arduino - 水检传感器
    水传感器砖专为水检测而设计,可广泛用于感应降雨,水位甚至液体泄漏。将水传感器连接到Arduino是检测泄漏,溢出,洪水,下雨等的好方法。它可用于检测水的存在,水平,体积,虽然这可以提醒您给植物浇水,但是有一个更好的Grove传感器可以用来浇水,传感器具有一系列裸露的迹线,当检测到水时,这些迹......