awk文本工具

article/2025/9/22 13:06:09

awk

  • 一、什么是awk?
  • 二、awk的工作原理
  • 三、命令格式
  • 四、管道符号调用
  • 四、getline

一、什么是awk?

  • awk命令是一种编程语言,用于在linux/unix下对文本和数据进行处理。
    而且它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具

二、awk的工作原理

逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。

sed命令常用于一整行的处理,而awk比较倾向于将一行分成多个“字段”然后再进行处理。awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符“&&”表示“与”、“||”表示“或”、“!”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。

三、命令格式

awk 选项 ‘模式或条件 {操作} 文件 1 文件 2 ...
awk -F 脚本文件 文件 1 文件 2 ...
内建变量说明
FS列分割符。指定每行文本的字段分隔符,默认为空格或制表位。与"-F"作用相同
NF当前处理的行的字段个数
NR当前处理的行的行号(序数)
$0当前处理的行的整行内容
$n当前处理行的第n个字段(第n列)
FILENAME被处理的文件名
RS行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,以进行处理。预设值是’\n’

按行输出格式

在这里插入图片描述

匹配开头字符,以及统计次数数量

BEGIN模式表示,在处理指定的文本之前,需要先执行BEGIN模式中指定的动作;awk再处理指定的文本,之后再执行END模式中指定的动作,END{}语句块中,往往会放入打印结果等语句。
在这里插入图片描述

按字段输出文本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、管道符号调用

在这里插入图片描述

四、getline

  • 当getline左右无重定向符“<”或“|”时,getline作用于当前文件,读入当前文件的第一行给其后跟的变量var或$0;应该注意到,由于awk在处理getline之前已经读入了一行,所以getline得到的返回结果是隔行的。
  • 当getline左右有重定向符“<”或“|”时,getline则作用于定向输入文件,由于该文件是刚打开,并没有被awk读入一行,只是getline读入,那么getline返回的是该文件的第一行,而不是隔行。

在这里插入图片描述


http://chatgpt.dhexx.cn/article/2jVx2lhr.shtml

相关文章

shell之三剑客awk(基础用法)

文章目录 一、awk概述1、awk工作原理 二、awk的格式三、内置变量演示1、【$n】进行演示2、【$0】的演示3、【NF】(多少列) 和 【NR】(多少行)的演示4、面试题5、BEGIN开始和END结尾6、模糊匹配7、关于数值与字符串的比较 四、总结 一、awk概述 AWK是一种处理文本文件的语言&am…

《J2EE 学习笔记 之 idea 搭建 SSM 项目》

J2EE 学习笔记 之 idea 搭建 SSM 项目 详细步骤 step1 step2 step3 step4 step5

对于J2EE体系架构的理解

一、何为J2EE&#xff1f; J2EE架构是使用Java技术开发企业级应用的一种事实上的工业标准&#xff0c;它是Java技术不断适应和促进企业级应用过程中的产物。Java平台有三个版本&#xff1a;适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2S…

idea创建j2ee_IntelliJ IDEA 创建J2EE项目

IntelliJ IDEA 创建J2EE项目 方式一 1.File--NewProject--next&#xff0c;取个名字&#xff0c;意味着你的文件存放地。 2.Next--Next--勾选Web Application--Finish。 3.Edit Configurations--添加--tomcat--local--找到WEB容器所地 4.&#xff2f;&#xff2b;&#xff0c;这…

J2EE总结

1.J2EE介绍 1.企业级java简史 一.Java版本 (1)J2ME,功能非常有限&#xff0c;用于嵌入式设备 (2)J2SE包含原始的核心类库&#xff0c;用于桌面应用程序和浏览器中的Applet (3)J2EE&#xff0c;功能非常全面&#xff0c;用于数据处理和服务器端应用 二.对现有和新技术的继承&…

关于J2ee

学习完j2se&#xff0c;对Java有了大概的了解&#xff0c;但是对接下来要学习的j2ee却有点囧&#xff0c;因为从概念里也get不到它到底是个什么东西&#xff01;so&#xff0c;从整体看j2ee&#xff0c;让百度告诉我答案。 Java2平台&#xff08;1998年12月&#xff0c;SUN公司…

J2EE架构简介

J2EE 体系结构简介 J2EE &#xff08;Java 2 Platform, Enterprise Edition&#xff09;即Java2平台企业版&#xff0c;它提供了基于组件的方式来设计、开发、组装和部署企业应用。J2EE使用多层分布式的应用模型&#xff0c;这个多层通常通过三层或四层来实现&#xff1a; ①客…

概览J2EE

J2EE是一种基于组件与平台无关的技术架构。 J2EE核心是一组技术规范和指南&#xff0c;包含各类的组件、服务架构、以及技术层次。 一、 J2EE的体系结构 先来看一些概念&#xff1a; 1、组件&#xff1a;是提供业务服务的独立功能单元&#xff0c;易操作&#xff0c;属性和实…

J2EE 全面简介

J2EE 全面简介 刘湛 (jeru@163.net) 武汉大学信息与计算科学系学士2001 年 7 月 本文从五个方面对J2EE进行了比较全面的介绍。从J2EE的概念说起,到它的优势,到J2EE典型的四层模型,和它的框架结构,最后是J2EE十三种核心技术的一个简介。本文分门别类的对J2EE中的服务,组件,…

自己搭建一个局域网(两台电脑)

1.首先保证两台电脑都有联网 2.更改适配器把两台电脑设为固定IP,同时让分配的IP地址相邻 3.使用ping命令&#xff0c;看是否能ping通。是&#xff0c;创建完成。否&#xff0c;有问题&#xff0c;重新分配固定IP后尝试。 哎&#xff0c;学校固定IP好像还要申请&#xff0c;哈哈…

如何用笔记本创建局域网

怎么用笔记本创建局域网呢&#xff1f;会不会很难&#xff1f; 现在教一个简单的方法创建局域网。 1、首先使用快捷键“WinR”打开cmd。 2、接着在弹出的窗口输入netsh wlan set hostednetwork modeallow ssid(这里输入你想给你局域网起的名字) key(这里输入自己设定的密码)&…

搭建小型局域网

Packet Tracer 是 Cisco 公司针对 CCNA 认证开发的一个用来设计、配置和故障排除网络的模拟软件。Packer Tracer 模拟器软件比 Boson 功能强大&#xff0c;比 Dynamips 操作简单&#xff0c;非常适合网络设备初学者使用。 学习任务 1、安装 Packer Tracer&#xff1b; 2、利用…

局域网组建

(1)回答问题&#xff1a;要想为计算机分配IP地址&#xff0c;必须要安装什么协议&#xff1f; 肯定是TCP/IP协议,安装及分配IP地址方法如下。按下面路径:控制面板》网络和 Internet》网络和共享中心》更改适配器设置》找到本地连接》右键属性&#xff0c;然后 1&#xff09; 添…

不同局域网内进行网络连接的建立方法

前言 在这互联网和物联网的时代&#xff0c;网络连接与通信被使用的越来越多&#xff0c;如何建立两个网络IP地址的连接 &#xff08;TCP或者UDP连接&#xff09;&#xff0c;也是一门学问。之前项目中遇到了这方面的问题&#xff0c;也被纠缠了一番&#xff0c;查阅大量资料&…

企业局域网的组建步骤和方法

什么是局域网&#xff1f;所谓的局域网(Local Area Network&#xff0c;简称LAN)&#xff0c;用于将有限范围内&#xff08;例如一个实验室、一层办公楼或者校园&#xff09;的各种计算机、终端与外部设备互联成网。企业局域网怎么建立&#xff1f;首先来了解下不同规模企业网络…

建立局域网的条件

建立局域网的条件 我的意思是硬件方面&#xff0c;比如说2台电脑连接在一个路由器上&#xff0c;那么可以通过设置来建立局域网吗&#xff1f;要是想并联多台电脑的话。。。还需要什么硬件来建立局域网&#xff1f;谢谢高人帮助 建立局域网&#xff0c;如果2113不上网的话&…

如何创建一个局域网

如果你在家庭里建设小型的局域网&#xff0c;只需网线、路由器或者集线器或交换机即可。将网线连好后&#xff0c;做相应的设置就可以组建成局域网了。推荐用路由器&#xff0c;较方便。 对于Windows xp&#xff0c;典型的路由器共享上网 以下方法是我试过&#xff0c;可以将已…

如何在win10系统建立局域网

在办公环境内&#xff0c;局域网的作用可不小。团队的文件管理&#xff0c;打印机等设备共享&#xff0c;部分之间资料的分享以及日程排期信息交互等等&#xff0c;都离不开局域网。本文主要和大家探讨如何在win10系统建立局域网。 更多系统安装教程尽在小白系统重装官网 系统…

局域网搭建

局域网&#xff08;Local Area Network&#xff0c;LAN&#xff09;是在一个局部的地理范围内&#xff08;如一个学校、工厂和机关内&#xff09;&#xff0c;一般是方圆几千米以内&#xff0c;将各种计算机&#xff0c;外部设备和数据库等互相联接起来组成的计算机通信网。 局…

如何建立一个小型的局域网,来实现电脑与电脑之间的通信

小编给大家介绍两种简单的连接方法 方法一&#xff1a;通过网线直接建立一个有线局域网的步骤&#xff08;此方法最好至少有一台电脑是Win7的操作系统&#xff09; 第一步&#xff1a;用一根普通的网线把两台需要连接的电脑连接起来&#xff08;如连接成功&#xff0c;可直接进…