linux 查看csv文件,按指定列聚合 排序

news2024/9/19 17:03:53

在Linux中,你可以使用awk工具来查看CSV文件的内容,并按照指定的列进行聚合。awk是一种强大的文本处理工具,它可以处理文本文件中的数据,并根据条件执行相应的操作。

以下是一个示例,假设你有一个名为data.csv的CSV文件,其中包含三列数据:姓名、年龄和性别,内容如下:

姓名,年龄,性别

张三,25,男

李四,30,男

王五,22,女

赵六,28,女

1、按照性别进行聚合,并计算每个性别的总人数。

awk -F, 'BEGIN {print "性别,数量";} NR>1 {count[$3]++;} END {for (gender in count) print gender "," count[gender];}' data.csv

解释:

-F,:指定输入字段分隔符为逗号。

BEGIN {print "性别,总人数";}:在处理文件之前,打印标题行。

NR>1 {count[$3]++;}:对于每一行(除了标题行),将第三列(性别)作为键,将对应的计数器递增。

END {for (gender in count) print gender "," count[gender];}:在处理完所有行之后,遍历计数器数组,并打印每个性别及其对应的人数。

执行上述命令后,你将得到以下输出:

性别,数量

男,2

女,2

2、按照性别列进行排序,并且只显示性别和年龄列。

awk -F, 'NR>1 { salaries[$3]+=$2 } END { for(name in salaries) print name, salaries[name] }' data.csv | sort -k2 -n

解释:

-F, 设置输入分隔符为逗号。

{ salaries[$3]+=$2 } 在数组salaries中,使用性别作为键,累加年龄值。

END { for(name in salaries) print name, salaries[name] } 在处理完所有行之后,打印性别和对应的累加的年龄值。

| sort -k2 -n 管道输出到sort命令,按第二列(索引为2,因为索引从1开始)进行数值排序

执行上述命令后,你将得到以下输出:

男,55

女,50

这个输出按照性别进行了聚合,并显示了每个性别的总人数。你可以根据需要修改CSV文件的列名和awk命令中的列索引来适应你的数据。

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

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

相关文章

ES学习圣经:从0到1, 精通 ElasticSearch 工业级使用

尼恩:百亿级数据存储架构起源 在40岁老架构师 尼恩的读者交流群(50)中,经常性的指导小伙伴们改造简历。 经过尼恩的改造之后,很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会&#xff0c…

LeetCode第131场双周赛C++题解

3158.求出出现两次数字的XOR值 给你一个数组 nums ,数组中的数字 要么 出现一次,要么 出现两次。 请你返回数组中所有出现两次数字的按位 XOR 值,如果没有数字出现过两次,返回 0 。 示例 1: 输入:nums …

我被恐吓了,对方扬言要压测我的网站

大家好我是聪,昨天真是水逆,在技术群里交流问题,竟然被人身攻击了!骂的话太难听具体就不加讨论了,人身攻击我可以接受,我接受不了他竟然说要刷我接口!!!!这下…

对于创建相关项目时,项目出现红色感叹号,且无jre环境显示,应该怎么解决?

首先,假设你已经下载好了相关你的jre环境,注意:如果你的jre不想用之前用的默认的话,你应该新建一个新的文件路径来存储你的新的jre环境下的项目文件。 先直接new->project->javaproject 点击next: 显示如下:&…

Vue实现二维码的展示及下载

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

技术贴 | Query 物理计划构建指南

在往期博客《执行器 - Query 执行详解》中,我们介绍到到一条 Query 的 SQL 语句需要经过:词法分析 —— 生成 AST 语法树 —— 生成物理计划。本期博客我们接续上篇讲解一条 Query 语句物理计划的具体结构,以及如何构建物理计划。 物理计划是…

AI预测福彩3D采取888=3策略+和值012路一缩定乾坤测试5月27日预测第3弹

今天继续基于8883的大底,使用尽可能少的条件进行缩号,同时,今天同样准备两套方案,一套是我自己的条件进行缩号,另外一套是8883的大底结合某位彩友的2码不定位奖号预测二次缩水来杀号。好了,直接上结果吧~ …

多波段光源 通过8种波长实现的成像解决方案

光源在机器视觉中的重要性不容小觑,它直接影响到图像的质量,进而影响整个系统的性能。光源的作用包括提供足够的照明,并确保被摄物体的特征能够被准确地捕捉到图像中,使被检测物体产生清晰的图像,提高图像的对比度和亮…

BEVFormer论文详细解读

文章目录 1. 前言1.1 3D VS 4D1.2 .特征融合过程中可能遇到的问题1.3 .BEV提出背景1.4 .BEV最终得到了什么1.5 .输入数据格式 2. 背景/Motivation2.1 为什么视觉感知要用BEV?2.2 生成BEV视角的方法有哪些?为何选用Transformer呢? 3. Method/S…

业务实战————Uibot6.0 .1多页面商品信息抓取RPA机器人

前言 【案例描述】 鲜果记水果店计划在淘宝电商平台上开设一家新店,小微是该企业运营部分的运营专员,主要负责公司商品上架和管理的工作。 公司计划在开店的新品促销活动中增加水果品类红富士苹果。小微需在商品上架前了解目前平台中销量前列的红富士苹…

【音视频基础概念】颜色与图像

文章目录 前言一、三原色不同三原色的概念三原色的作用 二、颜色空间颜色空间是什么颜色空间的作用常见颜色空间示例灰度图像是什么灰度图像的作用灰度图像的技术细节示例 总结 前言 在当今数字媒体时代,音视频技术在我们的日常生活中占据了重要位置。无论是观看电…

【UE5.1 角色练习】08-物体抬升、抛出技能

前言 在上一篇(【UE5.1 角色练习】08-传送技能)的基础上继续实现控制物体抬升、抛出的功能。 效果 步骤 一、准备技能动画 1. 在项目设置中新建一个操作映射,这里命名为“Skill_GravityControl”,用按键4触发 2. 通过IK重定向…

Redis篇 String

String概念和set,get扩充 一. String类型的基本介绍二. String中set,get方法扩充 一. String类型的基本介绍 redis中所有的key都是字符串类型的,但是value的类型差异很大. redis中的字符串,直接就是二进制方式存储的,可以存储整数,二进制数据 文本数据,Json,xml还有音频等. 二.…

【微积分】Grant Sanderson

梯度:将各个偏导打包 定义:direction of steepest ascent 梯度向量的长度:最速上升方向的陡峭程度 方向导数:偏导的一种拓展 【托马斯微积分学习日记】13.1-线积分_哔哩哔哩_bilibili 概述 16.1line integrals of scalar funct…

⌈ 传知代码 ⌋ 自监督高效图像去噪

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

【驱动】RS485收发控制、自动收发电路及波特率限制

1、芯片本身支持自动收发 RS485收发器芯片本身支持自动收发切换: 优点:简化硬件设计和软件编程,减少外部控制线;缺点:成本高,传输速率可能受限制。下面介绍几款支持自动收发切换的RS485/422芯片 1.1 MAX13487 MAX13487 是一款由 美信(Maxim) 生产的半双工 RS-485/RS…

【管理咨询宝藏113】某大型零售集团数字化转型规划方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏113】某大型零售集团数字化转…

Shell脚本学习笔记(更新中...)

一、什么是shell shell的作用是: 解释执行用户输入的命令程序等。 用户输入一条命令,shell就解释一条。 键盘输入命令,LInux给与响应的方式,称之为交互式。 shell是一块包裹着系统核心的壳,处于操作系统的最外层&a…

如何使用maven运行SpringBoot程序?

目录 一、什么是maven 二、什么是SpringBoot 三、如何使用maven运行SpringBoot程序? 一、什么是maven Maven:简化Java项目构建的自动化工具 在软件开发的世界里,Maven以其强大的项目管理和构建自动化功能,为Java开发者提供了…

不含一阶导数项的线性二阶微分方程的通解

假设这里有一个线性二阶微分等式,形式如下: (1) 其中是连续的,是在实闭区间是连续的,如果有人倾向于推广,在相对假弱的假设下,这个结果能够被发现。如果是下列其次线性方程的任意两个线性无关的…