linux之awk

awk 是一个强大的文本处理工具,广泛用于Linux和Unix系统中。它可以用来处理和分析文本文件,尤其是那些以固定格式排列的数据。下面是一些简单的 awk 用法示例,帮助你更好地理解它的基本功能。

1. 打印文件的特定列

假设有一个CSV文件 data.csv,内容如下:

Name,Age,Location
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago
打印第一列(Name)
awk -F, '{print $1}' data.csv

输出:

Name
Alice
Bob
Charlie
打印第二列(Age)
awk -F, '{print $2}' data.csv
Age
30
25
35
打印第三列(Location)
awk -F, '{print $3}' data.csv

输出:

Location
New York
Los Angeles
Chicago

2. 打印多列

打印第一列和第三列
awk -F, '{print $1, $3}' data.csv

输出:

Name Location
Alice New York
Bob Los Angeles
Charlie Chicago

3. 使用条件过滤

打印年龄大于30的行
awk -F, '$2 > 30 {print $0}' data.csv

输出:

Charlie,35,Chicago

4. 计算总和

假设你有一个文件 numbers.txt,内容如下:

10
20
30
40
计算所有数字的总和
awk '{sum += $1} END {print "Total:", sum}' numbers.txt

输出:

Total: 100

5. 统计行数

假设你有一个文件 lines.txt,内容如下:

line1
line2
line3
统计文件中的行数
awk 'END {print NR}' lines.txt

输出:

3

6. 处理多行数据

假设你有一个文件 multi_data.txt,内容如下:

Name: Alice
Age: 30
Location: New York
---
Name: Bob
Age: 25
Location: Los Angeles
---
Name: Charlie
Age: 35
Location: Chicago
提取每个用户的信息
awk -v RS='---' -F'\n' '{for (i=1; i<=NF; i++) print $i}' multi_data.txt

输出:

Name: Alice
Age: 30
Location: New York
Name: Bob
Age: 25
Location: Los Angeles
Name: Charlie
Age: 35
Location: Chicago

7. 格式化输出

格式化输出,使每一列对齐
awk -F, '{printf "%-10s %-5s %s\n", $1, $2, $3}' data.csv

输出:

Name       Age   Location
Alice      30    New York
Bob        25    Los Angeles
Charlie    35    Chicago

总结

awk 是一个非常强大的工具,可以用于处理各种文本数据。通过上述示例,可以看到 awk 在处理列数据、条件过滤、计算和统计等方面的强大功能。

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

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

相关文章

电脑录屏不用愁!四款免费录屏软件深度体验分享

虽然我不是专业的&#xff0c;但是我有一颗想要变得专业的心。作为一名经常需要录制教学视频和游戏直播的博主&#xff0c;我深知一款好用的录屏软件对于工作效率的重要性。今天&#xff0c;我就来和大家分享一下我最近亲测的四款免费录屏软件&#xff0c;来看看哪一款更适合你…

shodan5,参数使用,批量查找Mongodb未授权登录,jenkins批量挖掘

查找美国安全局漏洞 nww.nsa.gov&#xff08;美国安全局官方网站) net参数使用 搜索指定的ip网段 shodan search --limit 10 --fields ip_str,port net:208.88.84.0/24 (老美国家安全局的一个网段)可能直接访问不太行&#xff0c;可以使用host参数&#xff0c;得到域名再去…

部署MiniCPM-V

GitHub - OpenBMB/MiniCPM-V: MiniCPM-V 2.6: A GPT-4V Level MLLM for Single Image, Multi Image and Video on Your Phone 安装和执行 "Local WebUI Demo" 的步骤如下&#xff1a; 克隆仓库并导航到源文件夹&#xff1a; git clone https://github.com/OpenBMB/M…

Vue 权限管理

vue 中&#xff0c;比较常见的需要进行权限管控的权限控制实现思路有四条&#xff1a;、 菜单的控制 在登录请求中&#xff0c;会得到权限数据&#xff0c;当然&#xff0c;这个需要后端返回数据的支持&#xff0c;前端根据权限数据&#xff0c;展示对应的菜单&#xff0c;单…

MongoDB 8.0.3版本安装教程

MongoDB 8.0.3版本安装教程 一、下载安装 1.进入官网 2.选择社区版 3.点击下载 4.下载完成后点击安装 5.同意协议&#xff0c;下一步 6.选择第二个Custon&#xff0c;自定义安装 7.选择安装路径 &#xff01;记住安装路径 8.默认&#xff0c;下一步 9.取…

用于约束多目标优化的新型双阶段双种群进化算法

PPT链接&#xff1a;人工智能论文课程汇报介绍PPT资源-CSDN文库 A Novel Dual-Stage Dual-Population Evolutionary Algorithm for Constrained Multi-Objective Optimization IEEE Transactions on Evolutionary Computation, Volume 26, Issue 5, Pages 1129-1143, October …

C语言中的位操作

第一章 变量某位赋值与连续赋值 寄存器 | 值 //例如&#xff1a;a 1000 0011b a | (1<<2) //a 1000 0111 b 单独赋值 a | (3<<2*2) // 1011 0011b 连续赋值 第二章 变量某位清零与连续清零 寄存器 & ~&#xff08;&#xff09; 值 //例子&#xff1a;a …

uniapp 报错Invalid Host header

前言 在本地使用 nginx 反向代理 uniapp 时&#xff0c;出现错误 Invalid Host header 错误原因 因项目对 hostname 进行检查&#xff0c;发现 hostname 不是预期的&#xff0c;所以&#xff0c;报错 Invalid Host header 。 解决办法 这样做是处于安全考虑。但&#xff0…

Ubuntu 20.04 安装 OpenCV 和 OpenCV_contrib 教程

Ubuntu 20.04 安装 OpenCV 和 OpenCV_contrib 教程 Ubuntu 20.04 安装 OpenCV 和 OpenCV_contrib 教程前言 OpenCV概述核心功能优势特点应用领域安装与使用 OpenCV_contrib概述核心功能具体模块 安装与使用一、准备工作二、下载OpenCV和OpenCV_contrib三、编译和安装OpenCV四、…

Spring MVC 知识点全解析

Spring MVC 知识点全解析 Spring MVC 是一个基于 Java 的请求驱动的 Web 框架&#xff0c;属于 Spring 框架的一部分&#xff0c;广泛用于构建企业级 Web 应用程序。本文将详细阐述 Spring MVC 的核心知识点&#xff0c;包括其工作原理、关键组件、配置、请求处理、数据绑定、…

10.24.2024刷华为OD C题型(四) -- 对象list按照多个属性排序

文章目录 最长连续子序列AI面板识别语法知识记录 最长连续子序列 https://www.nowcoder.com/discuss/592408743019589632 if __name__ "__main__":# 获取用户输入# numbers int(input().split(,))# str_arr input().split(,)arr [int(num) for num in input(…

生活中是否害怕过机械硬盘出现坏道?

目录 一、坏道起因 二、继续了解-系统对坏扇区的处理 &#xff08;一&#xff09;硬盘自身的处理机制 &#xff08;二&#xff09;操作系统层面的处理 三、进一步了解-备用扇区 &#xff08;一&#xff09;备用扇区的工作原理 &#xff08;二&#xff09;S.M.A.R.T.技术…

「Mac畅玩鸿蒙与硬件4」鸿蒙开发环境配置篇4 - DevEco Studio 高效使用技巧

本篇将进一步介绍如何在 DevEco Studio 中高效使用各种功能&#xff0c;通过掌握快捷键、代码补全、调试工具等&#xff0c;帮助开发者在鸿蒙应用开发中大幅提升工作效率。 关键词 DevEco Studio快捷键代码补全调试工具项目导航 一、快捷键与高效操作 快捷键是提升开发效率的…

开发了一个成人学位英语助考微信小程序

微信小程序名称&#xff1a;石榴英语 全称&#xff1a;石榴英语真题助手 功能定位 北京成人学士学位英语辅助学习工具&#xff0c;包含记高频单词&#xff0c;高频词组&#xff0c;专项练习&#xff0c;模拟考试等功能。 开发背景 个人工作需要提高学习英文水平&#xff…

ChatGPT、Python和OpenCV支持下的空天地遥感数据识别与计算——从0基础到15个案例实战

从无人机监测农田到卫星数据支持气候研究&#xff0c;空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而&#xff0c;对于许多专业人士而言&#xff0c;如何高效地处理、分析和应用遥感数据仍是一个充满挑战的课题。本教程应运而生&#xff0c;致力于为您搭建一…

[Web安全 网络安全]-Burp Suite抓包软件‘下载‘安装‘配置‘与‘使用‘

文章目录&#xff1a; 一&#xff1a;前言 1.简介 2.主要功能 3.抓包原理 4.抓包过程 二&#xff1a;Burp Suite下载安装与配置 1.下载Burp Suite 2.安装JDK&#xff08;用于Java运行环境_包含JRE&#xff09; 第一步&#xff1a;安装JDK环境 第二步&#xff1a;安…

python如何完成金融领域的数据分析,思路以及常见的做法是什么?

引言 在现代金融领域,数据分析已成为决策支持的重要工具。随着金融市场的复杂性和数据量的激增,传统的分析方法已无法满足需求。 Python作为一种强大的编程语言,凭借其丰富的库和工具,成为金融数据分析的首选语言之一。 本文将探讨如何利用Python进行金融数据分析,包括…

2、片元着色器之有向距离场(SDF)运算:并集、差集、交集

1、并集 float sdCircle(vec2 uv,float r){return length(uv)-r; } float sdRect(vec2 uv,float r){return max(abs(uv.x),abs(uv.y))-r; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) {float w 1.0/iResolution.y;// 计算纹理坐标vec2 uv fragCoord/iResolu…

【Apache Zookeeper】

一、简介 1、场景 如何让⼀个应⽤中多个独⽴的程序协同⼯作是⼀件⾮常困难的事情。开发这样的应⽤&#xff0c;很容易让很多开发⼈员陷⼊如何使多个程序协同⼯作的逻辑中&#xff0c;最后导致没有时间更好地思考和实现他们⾃⼰的应⽤程序逻辑&#xff1b;又或者开发⼈员对协同…

Gitlab 官方推荐自动化cache服务器Minio的安装

极狐GitLab Runner 使用 cache 加快 CI/CD 构建速度。 极狐GitLab CI/CD Job 在运行过程中不可避免的要下载一些外部依赖&#xff0c;cache 的存在是为了让不同 Job 之间能够共享这些文件&#xff0c;避免每个 Job 都去再次下载&#xff0c;这样做能够节约 CI/CD 的执行时间&a…