Linux-AWK(应用最广泛的文本处理程序)

news2024/9/23 17:24:53

目录

一、awk基础

二、awk工作原理

三、OFS输出分隔符

四、awk的格式化输出

五、awk模式pattern


一、awk基础

 使用案例:

1.准备工作

请在Linux中执行以下指令

cat -n /etc/passwd > ./passwd

 练习:

1.从文件 passwd 中提取并打印出第五行的内容

awk NR==5 passwd 
awk “NR==5” passwd
awk ‘NR==5’ passwd

似乎条件可以用单引号和双引号包括起来,也可以不用引号

2.从文件 passwd 中提取并打印出第五行和第六行的内容

awk ‘NR==5,NR==6’ passwd

注意:条件中间要用逗号

3.输出passwd文件下所有的行号

awk '{print NR}' passwd 

注意:

  1. print是awk最常用动作之一。
  2. 花括号外面必须加单引号或者双引号

4.使用 awk 打印出文件 passwd 的每一行内容。

awk '{print $0,NR}' passwd

5.读取 "passwd" 文件的每一行,按照冒号分隔,然后打印出每行的第一个字段(用户名)和最后一个字段。

awk -F “:” ‘{print $1,$NF}’ passwd 

这里-F代表分割线,加上":"就是以“:”作为分割,比如root:123456,经过分割后形成两列,root与123456.


二、awk工作原理

一次读取一行文本

输入分隔符进行切片

将每片直接保存在内建的变量中,$1,$2,$3.


三、OFS输出分隔符

当没有使用分隔符的时候

当加上分隔符时候,比如逗号

 可以看到两列之间空了一段出来,那么换上更容易看到的分隔符呢?

指定默认分隔符(通过设置参数OFS实现输出分隔符)

上述三个等号改为 \t  会如何?


四、awk的格式化输出

请你比较下面不同

        vs        

---使用print

 ---使用printf

 对比后可以看到区别:

以下练习awk的格式化输出

1.打印整行内容作为一个字符串输出。

2.打印整行内容作为一个字符串输出。但是加上换行

 3.打印一段字符串并设置分隔符


五、awk模式pattern

最前面关键字awk,最后面是文件,中间是  参数  引号,引号中是  条件+动作

案例1:使用pattern中的BEGIN使得只输出china而忽略后面的文件

案例2:使用BEGIN  与一般文本下的执行顺序

BEGIN后面的花括号内容优先处理,BEGIN后的动作完成后再处理后面的

 案例3:使用BEGIN 一般文本 END下的执行顺序

 总结一下

先BEGIN,中文本,后END


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1201897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初学者向导:Sketch设计软件自学教程大全

Sketch软件是Mac平台上流行的矢量图形编辑软件,旨在帮助用户创建各种设计原型,如网站、移动应用程序、图标等。Sketch软件的设计风格简单明了,界面操作简单易用,非常适合UI/UX设计师、平面设计师等数字创意人员。本文作为软件自学…

C语言—数组入门

数组定义方式 int一个占4个字节,char一个占1个字节,double一个占8个字节,所以三个最后都是24. 数组不能被动态定义 下面代码是不可行的!!!访问数组中元素 下标索引从0开始 如果定义数组int a[10]&#…

2.7 CE修改器:多级指针查找

在本步骤中,你需要使用多级指针的概念来查找健康值真正的地址并修改它。多级指针就是一个指针的指针,也就是第一个指针指向第二个指针,第二个指针指向第三个指针,以此类推,最终指向你想要访问的地址。 首先&#xff0…

leetcode:876. 链表的中间结点

一、题目 函数原型: struct ListNode* middleNode(struct ListNode* head) 二、思路 要找到链表的中间结点,有两种思路: 暴力解法:先遍历一遍链表,计算出链表的长度,再次遍历链表,找到中间结点。…

马达加斯加市场开发攻略,收藏一篇就够了

马达加斯加是位于非洲南部一个国家,虽然经济是比较落后的一个国家,但是一直以来跟中国的关系都还不错,生产生活资料也是比较依赖进口的,市场潜力还是不错的。今天就来给大家分享一下马达加斯加的相关攻略。大家点赞收藏关注慢慢看…

北大联合智源提出训练框架LLaMA-Rider

大语言模型因其强大而通用的语言生成、理解能力,展现出了成为通用智能体的潜力。与此同时,在开放式的环境中探索、学习则是通用智能体的重要能力之一。因此,大语言模型如何适配开放世界是一个重要的研究问题。 北京大学和北京智源人工智能研究…

Django中Cookie和Session的使用

目录 一、Cookie的使用 1、什么是Cookie? 2、Cookie的优点 3、Cookie的缺点 4、Django中Cookie的使用 二、Session的使用 1、什么是Session? 2、Session的优点 3、Session的缺点 4、Django中Session的使用 三、Cookie和Session的对比 总结 D…

低功耗蓝牙技术 > GAP和GATT介绍

GAP(Generic Access Profile)和GATT(Generic Attribute Profile)简介 在蓝牙技术的发展中,GAP和GATT两个协议扮演着关键的角色,为BLE(低功耗蓝牙)设备之间的通信提供了规范和框架。…

拼多多API接口,打造智能化电商平台

近年来,电商行业的崛起给人们的购物带来了极大的方便。随着电商行业的发展,拼多多作为新兴电商平台已经成为市场焦点。 同时,随着技术的发展,API(Application Programming Interface,应用程序编程接口&…

振动异响振动案例 | 本田思域怠速时发动机异响

虽然未来可能是“电动”的,但内燃机(ICE)在永远消失之前还有很多年。但是,我确信它永远不会。从目前的立法来看,到2030年,传统的汽油和柴油汽车/货车将被禁止销售,插电式混合动力车将延长到2035…

java--String使用时的注意事项

1.String使用时的注意事项 第一点: ①String对象的内容不可改变,被称为不可变字符串对象。(因为字符串是引用类型,每次都是引用一个地址,就相当于你有车,但是你不可能天天把车踹兜里,只能把钥匙踹兜里&am…

「得力集团」启动采购供应链协同项目,携手企企通打造文创科技产业行业标杆

近期,国内最大的办公与学习用品产业集团、多工作场景整体解决方案的领导者「得力集团有限公司」与企企通成功签约,并顺利召开采购供应链协同项目启动会。 本次会议中,双方高层领导与项目团队成员就项目的功能需求、实施方案、资源支持等问题进…

Direct3D拾取

假设在屏幕上单击,击中的位置为点s(x,y)。由图可以看出,用户选中了茶壶。但是仅给出点s,应用程序还无法立即判断出茶壶是否被选中。所以针对这类问题,我们需要采用一项称为“拾 取(Picking)”的技术。 茶壶和屏幕点s之间的一种联…

谷歌竞价排名10个引爆利器揭秘分享-华媒舍

谷歌是目前世界上最受欢迎的搜索引擎之一,而竞价排名则是企业在谷歌平台上提升在线曝光度的重要手段。本文将介绍10个能够帮助企业轻松提高谷歌竞价排名的利器,让您的产品或服务脱颖而出。 第一利器:关键词优化 关键词优化是提升竞价排名的基…

Accelerate 0.24.0文档 一:两万字极速入门

文章目录 一、概述1.1 PyTorch DDP1.2 Accelerate 分布式训练简介1.2.1 实例化Accelerator类1.2.2 将所有训练相关 PyTorch 对象传递给 prepare()方法1.2.3 启用 accelerator.backward(loss) 1.3 Accelerate 分布式评估1.4 accelerate launch1.4.1 使用accelerate launch启动训…

垃圾/垃圾桶识别相关开源数据集汇总

垃圾箱图片数据集 数据集下载链接:http://suo.nz/3cvbiC 垃圾箱多类检测数据集 数据集下载链接:http://suo.nz/2eluH3 蒙得维亚的垃圾箱图片 数据集下载链接:http://suo.nz/2lRHLK 垃圾桶满溢检测数据集 数据集下载链接:http:…

PostgreSQL 入门教程

PostgreSQL 入门教程 1. 历史背景2. 概念3. 特点4. 用法4.1 数据库连接4.2 数据库创建4.3 表创建4.4 数据插入4.5 数据查询4.6 数据更新4.7 数据删除 5. 安装步骤6. 简单示例7. 扩展7.1 数据类型7.2 查询优化7.3 并发控制7.4 数据备份和恢复7.5 扩展性和高可用性7.6 安全性加固…

MATLAB中ginput函数用法

目录 语法 说明 示例 标识点和绘制坐标 返回用于选择坐标的按键 标识地理坐标区上的点 ginput函数的功能是标识坐标区坐标。 语法 [x,y] ginput(n) [x,y] ginput [x,y,button] ginput(___) 说明 [x,y] ginput(n) 可用于标识笛卡尔坐标区、极坐标区或地理坐标区内…

如何成功创建百度百科词条?教你从零开始创建自己的百度百科【建议收藏】

百度百科是一个开放的网络百科全书,用户可以自由编辑和贡献内容。如果你想创建一个百度百科页面,需要做好以下准备: 1.确定主题:选择一个你熟悉或者感兴趣的主题,确保该主题在百度百科上还没有相关的页面。 2.收集资…