当前位置: 首页 > news >正文

【Linux】 awk命令使用

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。

语法

awk [选项] [文件]
awk [选项] [程序] [文件]

awk命令 -Linux手册页

作者

UNIX awk的原始版本由贝尔实验室的Alfred Aho、Peter Weinberger和Brian Kernighan设计和实现。Brian Kernighan继续保持和增强它。

自由软件基金会的Paul Rubin和Jay Fenlason编写了gawk,以与第七版UNIX中分发的awk的原始版本兼容。约翰·伍兹贡献了许多错误修复。David Trueman在Arnold Robbins的贡献下,使gawk与新版本的UNIX awk兼容。阿诺德·罗宾斯是目前的维护者。

最初的DOS端口由Conrad Kwok和Scott Garfinkle完成。Scott Deifik是目前DOS的维护者。Pat Rankin负责VMS的港口,Michal Jaegermann负责Atari ST的港口。Kai Uwe Rommel在Darrel Hankerson的贡献和帮助下负责OS/2的港口。Andreas Buening现在维护OS/2端口。Fred Fish为Amiga提供支持,Martin Brown提供BeOS端口。Stephen Davies提供了最初的Tandem端口,Matthew Woehlke为Tandem的POSIX兼容系统提供了更改。拉尔夫·维尔登豪斯现在维护着那个港口。

命令选项及作用

执行令  awk --help 

执行命令结果

参数

  • -F fs or --field-separator fs 指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
  • -v var=value or --asign var=value 赋值一个用户定义变量。
  • -f scripfile or --file scriptfile 从脚本文件中读取awk命令。
  • -mf nnn and -mr nnn  对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
  • -W compact or --compat, -W traditional or --traditional 在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。
  • -W copyleft or --copyleft, -W copyright or --copyright 打印简短的版权信息。
  • -W help or --help, -W usage or --usage  打印全部awk选项和每个选项的简短说明。
  • -W lint or --lint  打印不能向传统unix平台移植的结构的警告。
  • -W lint-old or --lint-old  打印关于不能向传统unix平台移植的结构的警告。
  • -W posix  打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。
  • -W re-interval or --re-inerval  允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。
  • -W source program-text or --source program-text  使用program-text作为源代码,可与-f命令混用。
  • -W version or --version

运算符

内建变量

常用命令示例

查看文本文件内容 
cat test8.text 

命令:awk  '{print}'  文件名

执行命令 : awk '{print}' test8.text

输出filename文件中的每一行文本。

命令:awk  '{print $2 }'  文件名

执行命令 :awk '{print $2}' test8.text 

打印filename文件中的第二列数据。

命令:awk '/pattern/{print}' 文件名

执行命令 : awk '/sha/{print}' test8.text 

Awk命令还可以用于匹配输入数据中的特定文本。例如,如果我们想要匹配包含 “sha” 符串的行。

命令:awk  -F

执行命令 : awk -F',' '{print $2}' test8.text 
​​​​​​​​​​​​​​使用自定义分隔符使用-F选项。使用逗号作为分隔符。

输出filename文件中的第二列数据,以逗号作为分隔符。

命令:awk  -v 

执行命令 : awk -v a=1 '{print $1,$1+a}'  test8.text 

使用变量。

​​​​​​​

命令:awk  -v 

执行命令 :  awk '$1>2' test8.text 

过滤第一列大于2的行。

使用正则,字符串匹配

命令:输出第二列包含 "sha",并打印第二列与第四列

执行命令 :  awk '$2 ~ /sha/ {print $2,$4}' test8.text 

命令:~ 表示模式开始。// 中是模式。

执行命令 :  awk '$2 ~ /sha/ {print $2,$4}' test8.text ​​​​​​​

输出包含 "sha" 的行。

相关文章:

【Linux】 awk命令使用

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法 awk [选项] [文件] awk [选项] [程序] [文件] awk命令 -Linux手…...

Sentinel网关限流

背景 在微服务架构下,每个服务的性能都不同,为避免出现流量洪峰将服务冲垮,需要依赖限流工具来保护服务的稳定性。sentinel是阿里提供的限流工具,社区活跃,功能也很全面,包含实时监控、流控、熔断等功能。…...

solidworks对电脑要求高吗?2023solidworks配置要求

solidworks对电脑要求高吗?SolidWorks是一款功能强大的三维CAD软件,对电脑配置有一定的要求。一般来说,运行SolidWorks需要的电脑配置包括较高的处理器性能、足够的内存和存储空间,以及一块性能良好的显卡。此外,对于大…...

搭建神经网络(torch.nn的用法)

零零碎碎总结了一些torch框架里面nn模块的用法,尤其是关于搭建神经网络的 nn.ModuleList nn.Module nn.Sequential nn.Linear nn.Dropout nn.Embedding nn.DataParallel() 将模型封装起来,便于在多个gpu上并行计算,训练或者推理 nn.…...

卡码网语言基础课 | 11. 句子缩写

目录 一、 字符串大小的比较 二、 ASCII码值 三、 基本框架代码 四、 解题思路 4.1 首字母问题 4.2 判定小写字母 4.3 小写字母转换为大写字母 五、空格判断 六、 代码模块化 6.1 满足的条件 6.2 代码完善 七、 题目解答 7.1 原始代码 7.2 改进代码 八、 拓展与…...

Surface RT 安装 Linux

零:起因 在家无事找出来一台老旧设备 Surface RT 一代的,系统最新是 Windows 8.1 arm版,应用商店都已经打不开了 虽说有破解方法,能运行些软件,但怎么说也不是任意安装,所以局限性还是相当的大&#xff0…...

C++中的函数重载:多功能而强大的特性

引言 函数重载是C编程语言中的一项强大特性,它允许在同一个作用域内定义多个同名函数,但这些函数在参数类型、个数或顺序上有所不同。本文将深入探讨函数重载的用法,以及它的优势和应用场景。 正文 在C中,函数重载是一项非常有…...

数据分析实战 | K-means算法——蛋白质消费特征分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型训练 ​编辑 八、模型评价 九、模型调参与预测 一、数据及分析对象 txt文件——“protein.txt”,主要记录了25个国家的9个属性,主…...

HTTP协议详解-下(Tomcat)

如何构造 HTTP 请求 对于 GET 请求 地址栏直接输入点击收藏夹html 里的 link script img a…form 标签 通过 form 标签构造GET请求 <body><!-- 表单标签, 允许用户和服务器之间交互数据 --><!-- 提交的数据报以键值对的结果来组织 --><form action&quo…...

acwing算法基础之搜索与图论--prim算法

目录 1 基础知识2 模板3 工程化 1 基础知识 朴素版prim算法的关键步骤&#xff1a; 初始化距离数组dist&#xff0c;将其内的所有元素都设为正无穷大。定义集合S&#xff0c;表示生成树。循环n次&#xff1a;找到不在集合S中且距离集合S最近的结点t&#xff0c;用它去更新剩余…...

Amazon EC2 Serial Console 现已在其他亚马逊云科技区域推出

即日起&#xff0c;交互式 EC2 Serial Console 现也在以下区域推出&#xff1a;中东&#xff08;巴林&#xff09;、亚太地区&#xff08;雅加达&#xff09;、非洲&#xff08;开普敦&#xff09;、中东&#xff08;阿联酋&#xff09;、亚太地区&#xff08;香港&#xff09;…...

hdlbits系列verilog解答(100输入逻辑门)-39

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 构建一个具有 100 个输入in[99:0]的组合电路。 有 3 个输出: out_and: output of a 100-input AND gate. out_or: output of a 100-input OR gate. out_xor: output of a 100-input XOR gate. 二、verilog源…...

Python 中 Selenium 的屏幕截图

文章目录 使用 save_screenshot() 函数在 Python 中使用 selenium 捕获屏幕截图使用 get_screenshot_as_file() 函数在 Python 中使用 selenium 捕获屏幕截图使用 Screenshot-Selenium 包在 Python 中使用 selenium 捕获屏幕截图总结我们可以使用 Selenium 在自动化 Web 浏览器…...

scrapy发json的post请求

一 、scrapy发json的post请求&#xff1a; def start_requests(self):self.headers {Content-Type: application/json}json_data {"productName": "", "currentPage": "1", "recordNumber": "10", "langua…...

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

目录 1解题思路&#xff1a; 2代码如下&#xff1a; 3运行结果&#xff1a; 4总结&#xff1a; 5介绍&#xff1a; 1解题思路&#xff1a; 利用循环&#xff08;穷举法&#xff09;来 对 所 需要的数 进行确定 2代码如下&#xff1a; #include <stdio.h>int main() …...

自主开发刷题应用网站H5源码(无需后端无需数据库)

该应用使用JSON作为题库的存储方式&#xff0c;层次清晰、结构简单易懂。 配套的word模板和模板到JSON转换工具可供使用&#xff0c;方便将题库从word格式转换为JSON格式。 四种刷题模式包括顺序刷题、乱序刷题、错题模式和背题模式&#xff0c;可以根据自己的需求选择适合的模…...

java 读取excel/word存入mysql

引入依赖 <!--poi--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.0.1</version></dependency><dependency><groupId>org.apache.poi</groupId><artif…...

11.(vue3.x+vite)组件间通信方式之ref与$parent、$children

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 注: (1)ref 加在标签(div等)上,是拿到dom 对象 (2)ref加上组件上,拿到的是组件的引用 (3)让父组件获取子组件的数据或者方法需要通过defineExpose对外暴露,另外让父组件获取子组件的数据或者方法需要通过d…...

[工业自动化-12]:西门子S7-15xxx编程 - PLC从站 - ET200 SP系列详解

目录 一、概述 1.1 概述 二、系统组成 2.1 概述 2.2 与主站的通信接口模块 2.3 总线适配器 2.4 基座单元 2.5 电子模块 2.6 服务器模块 一、概述 1.1 概述 PLC ET200 SP 是西门子&#xff08;Siemens&#xff09;公司生产的一款模块化可编程逻辑控制器&#xff08;PL…...

消息队列简介

消息队列 在认识rabbitMQ之前&#xff0c;我们需要先认识下消息队列。 消息队列&#xff0c;一般简称为MQ&#xff08;Message Queue&#xff09;。先不管消息(Message)这个词&#xff0c;先看看队列(Queue)。 队列就是一种先进先出的数据结构。 所以消息队列可以简单理解为&a…...

Java 25 字符串模板与文本块增强:更优雅的字符串处理

Java 25 字符串模板与文本块增强&#xff1a;更优雅的字符串处理别叫我大神&#xff0c;叫我 Alex 就好。今天我们来聊聊 Java 25 中的字符串模板与文本块增强&#xff0c;这些特性让字符串处理变得更加简洁和优雅。一、引言 在现代 Java 开发中&#xff0c;字符串处理是一项常…...

5步掌握Audiveris乐谱识别:从扫描到编辑的完整指南

5步掌握Audiveris乐谱识别&#xff1a;从扫描到编辑的完整指南 【免费下载链接】audiveris Latest generation of Audiveris OMR engine 项目地址: https://gitcode.com/gh_mirrors/au/audiveris 你是否曾面对堆积如山的纸质乐谱&#xff0c;渴望将它们转换为可编辑的数…...

像素时装锻造坊企业应用:游戏公司IP衍生品快速视觉化落地实操手册

像素时装锻造坊企业应用&#xff1a;游戏公司IP衍生品快速视觉化落地实操手册 1. 工具介绍与核心价值 像素时装锻造坊&#xff08;Pixel Fashion Atelier&#xff09;是一款专为游戏公司设计的AI图像生成工作站&#xff0c;基于Stable Diffusion与Anything-v5技术构建。不同于…...

ViGEmBus虚拟手柄驱动技术深度解析:Windows内核级游戏控制器模拟架构揭秘

ViGEmBus虚拟手柄驱动技术深度解析&#xff1a;Windows内核级游戏控制器模拟架构揭秘 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus作为Windows内…...

抖音无水印视频批量下载:3分钟快速上手完整指南

抖音无水印视频批量下载&#xff1a;3分钟快速上手完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…...

3个步骤掌握AMD Ryzen系统调试:SMUDebugTool完整入门指南

3个步骤掌握AMD Ryzen系统调试&#xff1a;SMUDebugTool完整入门指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/…...

企业级京东自动评价系统架构设计:深度解析高可用解决方案

企业级京东自动评价系统架构设计&#xff1a;深度解析高可用解决方案 【免费下载链接】jd_AutoComment 自动评价,仅供交流学习之用 项目地址: https://gitcode.com/gh_mirrors/jd/jd_AutoComment 在电商平台自动化运营领域&#xff0c;京东自动评价系统面临着多重技术挑…...

【2026最硬核AI底层能力】:AIAgent元学习从理论到工业级部署的4道生死关卡与绕过方案

第一章&#xff1a;AIAgent元学习能力的范式革命与SITS2026定义 2026奇点智能技术大会(https://ml-summit.org) 从任务特化到认知自适应的跃迁 传统AI代理依赖于预设任务结构与静态策略库&#xff0c;而AIAgent的元学习能力标志着其可自主演化学习机制——在未见过的任务分布…...

3步解锁网易云加密音乐:ncmdump实战解密指南

3步解锁网易云加密音乐&#xff1a;ncmdump实战解密指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的歌曲只能在特定客户端播放而烦恼吗&#xff1f;当你想要在车载音响、专业音频软件或跨设备上欣赏音乐时…...

Keras-BERT模型保存与加载:完整解决方案

Keras-BERT模型保存与加载&#xff1a;完整解决方案 【免费下载链接】keras-bert Implementation of BERT that could load official pre-trained models for feature extraction and prediction 项目地址: https://gitcode.com/gh_mirrors/ke/keras-bert Keras-BERT是一…...