linux-7 awk

news2024/11/25 6:53:25

目录

1.awk默认规则

2.处理方式

3.格式

4.运算

5.getline

6. 文件内容匹配过滤打印

7.begin . end模式

8.awk条件判断打印

9.awk三元表达

10.awk精准筛选

11.awk数组


1.awk默认规则

        当以多空格为分隔符时 自动压缩成一个

        默认操作就是打印

        默认分隔符时空格

2.处理方式

        先对行处理 再分列

3.格式

        -F " "  指定分隔符       -v 变量赋值

                内置变量

                        $0 全部打印     $n 第几列     NR 行号    NF 当前处理行字段数    $NF 最后一个字段

                        FS 列分隔符

                awk '{print $n}' 文件名                            打印第几列

                awk 'NR==行号 {print}'    文件名            打印第几行

                awk 'NR==1;NR==3{print}'   文件名       打印1-3行

                awk 'NR==1,NR==3{print}'   文件名       打印1和3行

4.运算

        awk 'BEGIN{print 10+10}'      20

5.getline

        awk内置函数

        当getline 左右无重定向符号(<>)或管道符(|) 打印奇偶行

                awk '{print $0;getline}'  文件名               打印奇数行

                awk '{getline;print $0}'  文件名               打印偶数行

                awk '{getline < "文件1";print $0 > "文件2";}'  文件1

                        从文件1全量传内容给文件2

                用 | 赋值变量

6. 文件内容匹配过滤打印

        awk '/^…/{print}'   以…开头

        awk '/…$/{print}'  以…结尾

7.begin . end模式

        awk 'BEGIN{};{};END{}'

8.awk条件判断打印

        awk -F: '$3>500{print $0}' /etc/passwd      打印/etc/passwd第三列大于500

        awk -F: '{if($3>10){print $0}}' /etc/passwd     打印/etc/passwd第三列大于10

9.awk三元表达

        awk -F: '{max=($3>=$4)?$3:$4;{print $0}}' /etc/passwd

10.awk精准筛选

        $n(>< ==) 用于对比数据

        $n~"字符串" 代表第n个字段包含某个字符串

        $n!~"字符串" 取反

        $n==" " 第n个字段为某个字符串

        $n!=" " 取反

        $NF 最后一个字段

11.awk数组

        awk 'BEGIN{a[0]=1;a[1]=2;a[2]=3;print a[1]}'     2

        awk 'BEGIN{a[0]=1;a[1]=2;a[2]=3;for(i in a)print i, a[i]}'     0    1

                                                                                                  1     2

                                                                                                  2     3

        索引下标去重

                awk '{a[$1]++};END{for(i in a){print i,a[i]}}' test.txt 

        

 

 

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

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

相关文章

解锁Gradio Interface的便捷与扩展性:load、from_pipeline、integrate和queue方法的魔力

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

Day25 实战篇 ——Jmeter实现Java测试实战

Day25 实战篇 ——Jmeter实现Java测试实战 文章目录 Day25 实战篇 ——Jmeter实现Java测试实战一、新建Maven项目二、编写输入参数类、测试类三、编译、打包四、验证开发的函数是否正常1、性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能…

论文解读In-Depth Mouse: Integrating Desktop Mouse into Virtual Reality

In-Depth Mouse: Integrating Desktop Mouse into Virtual Reality HCI2022 honorable ❤️ 将2d的鼠标应用到3d的虚拟空间中&#xff0c;对可选对象进行选择 Challenge 1、如果单纯利用3d虚拟鼠标的3d位置对可选物体进行选择&#xff0c;有可能出现距离更近的物体将虚拟鼠标…

技术讨论:我心中TOP1的编程语言

欢迎关注博主 六月暴雪飞梨花 或加入【六月暴雪飞梨花】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术…

JAVA实现问财爬虫

通过 RestTemplate 将查询语句申请发送至问财&#xff0c;实现同花顺问财的爬虫获取数据&#xff0c;例子中实现了将爬取的数据写入excel文件并染成红色&#xff0c;可将其改造放入数据库中. 通过测试发现爬虫自动能访问一百多次左右&#xff0c;会被官方识别为爬虫&#xff0c…

RocketMQ简介

目录 MQ介绍 MQ的优点和缺点 各种MQ产品的比较 消息发送者步骤分析 消息消费者步骤分析 顺序消息 延时消息 事务消息 1&#xff09;事务消息发送及提交 2&#xff09;事务补偿 3&#xff09;事务消息状态 使用限制 重试队列 重试配置 怎么保证消息消费的时候0丢失…

Java——《面试题——MyBatis篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 目录 前文 1、什么是MyBatis 2、说说MyBatis的优点和缺点 3、#{}和${}的区别是什么&#xff1f; 4、当实体类中的属性名和…

Flask框架制作读取txt文本网页

Pycharm demo项目 app2.py&#xff08;运行&#xff09; index2.html &#xff08;网页&#xff09; 网页访问地址&#xff1a; http://127.0.0.1:5000 网页画面 核心代码(网页) 点击按钮弹窗选择 txt 文件&#xff08;index2.html&#xff09; <form method"post&…

探索CSS中的粘性定位:解锁网页布局的新可能

这篇文章详细解释了CSS中的sticky定位方式&#xff0c;并讲解了它的工作原理。 CSS中的sticky定位有很好的浏览器支持&#xff0c;但许多开发者并没有使用它。原因有两方面&#xff1a;一是等待浏览器支持的时间太长&#xff0c;导致这个特性被遗忘&#xff1b;二是大部分开发…

OpenCV项目开发实战--一步一步介绍使用 OpenPose 进行基于深度学习的人体姿势估计--C++/Python源码

文末附基于Python和C++两种方式实现的测试代码下载链接 在本教程中,使用 OpenCV 进行基于深度学习的人体姿态估计。我们将详细说明如何在您自己的应用程序中使用预训练 Caffe 模型。 1.姿态估计(又名关键点检测) 姿态估计是计算机视觉中的一个普遍问题,我们在其中检测物体…

西门子Mendix入门

首先进入网址Mendix 点击下方sign up进入带注册页面 我的注册成功后需要等会才能完成注册&#xff0c;我是下午开始注册的&#xff0c;晚上九点半的时候就可以登陆了 点击右上方create Apps 之后进入到这个页面选择应用程序模板 这里我们搜索Task选择第一个 单击Select Templa…

【Arduino+ESP32专题】Visual Studio Code界面重置为默认状态

在使用Visual Studio Code进行编程的时候&#xff0c;有时不小心把某些状态栏或功能框关闭了&#xff0c;不知道从哪里再次打开。因此有一个办法是曲线救国&#xff0c;可以让Visual Studio Code界面重置为默认状态就行了。 方式1 选择右上角Open Settings(UI)图标 打开文档把…

GC相关的

1、判断对象是否为垃圾的算法 引用计数算法可达性分析算法 引用计数算法 判断的标准&#xff1a; 通过判断对象的引用数量来决定对象是否可以被回收。 每个对象实例都有一个引用计数器&#xff0c;被引用则1&#xff0c;完成引用则-1。 任何引用计数为0的对象实例可以被当…

操作系统-I/O管理-I/O系统(设备独立性软件)

目录 一、假脱机技术(SPOOLing技术) 二、设备的分配与回收 2.1设备分配考虑因素 设备的固有属性 设备分配算法 设备分配中的安全性 2.2静态分配和动态分配 2.3设备分配管理中的数据结构 DTC COCT CHCT SDT 三、缓冲区管理 3.1单缓冲 3.2 双缓冲 ​3.2循环缓冲 3.…

1746_Perl中面向对象的目录处理模块

全部学习汇总&#xff1a; GreyZhang/perl_basic: some perl basic learning notes. (github.com) 说起来我还不懂Perl的面向对象编程技术&#xff0c;只是在前阵子看到了书中提到了一句&#xff0c;用到了一个例子。今天看书的时候又看到了类型形势的代码&#xff08;代码中很…

25利用 灰色预测模型预测发电量(附matlab程序)

1.简述 学习目标&#xff1a; 灰色预测模型预测发电量 根据原始发电量数据预测需要年份的发电量 发电量预测是电力系统规划与运行的基础,是电力市场运作中的重要组成部分.目前,对发电量预测的研究已经比较深入,常用的发电量预测方法有:灰色预测法,线性回归模型,自回归移动平均模…

软件测试(1)

软件测试就是用来验证产品特性是否满足用户需求 调试是发现并解决软件中的缺陷 开发人员编码阶段进行 测试是用来发现软件中的缺陷 测试人员&#xff0c;开发人员&#xff08;单元测试&#xff0c;集成测试&#xff09; 测试贯穿于整个软件的生命周期&#xff0c;但是调…

免费在线压缩图片的网站

1. TinyPNG - 这是一个非常受欢迎的在线图片压缩网站,可以压缩 PNG 和 JPG 图片,保证无损压缩。 网址&#xff1a;TinyPNG – Compress WebP, PNG and JPEG images intelligently 2. Compressor.io - 这也是一个很好的在线图片压缩工具,可以批量上传和压缩图片,支持 PNG, JPG 和…

逆向Android开发工程,抓包!抓包!学习哪里?

抓包是什么&#xff1f; 在Android逆向工程中&#xff0c;抓包是一项重要的技术&#xff0c;用于获取手机应用程序与服务器之间的通信数据。通过抓包&#xff0c;可以分析应用程序的网络请求&#xff0c;获取请求的URL、参数、响应数据等信息&#xff0c;对应用程序的行为进行…

JavaSE进阶--注解

文章目录 前言一、概念二、使用实例1、Junit测试中2、JDK内置注解 三、自定义注解1、注解声明2、注解配置参数2.1 配置参数的类型&#xff1a;2.2 注意2.3 两个概念 3、使用注解 四、元注解1、Retention1.1 RetentionPolicy.SOURCE1.2 RetentionPolicy.CLASS1.3 RetentionPolic…