Linux 中用grep命令 辅助excle筛查数据

2024-03-27 09:28

本文主要是介绍Linux 中用grep命令 辅助excle筛查数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题:因为要对多个年度的多个工作的相关于人员进行匹配,以形成人员信息详细表,要从总表中根据项目人员名单进行筛出。最常用是excle 中的VULOOUP 函数,但是由于人员信息详表中有格式、内容方面的问题,无法实现,所以想到了用linux的grep命令,进行批量筛选。

一、总表、数据来源的创建

将人员详情excle表中的内容复制到文本文件中。这里推荐用vim的粘贴功能。vim b  后,需要输入命令:

:set mouse-=a

然后就可以粘贴了。

1.注意检查新建文本中的行数和excle复制的行数是否相同,如果行数变多,说明excle中的部分单元格内有换行或者空行等, 要用字符填充或者进行修改。然后重新复制。

2.不建议用windows自带的记事本来操作,因为字符编码,标点、空格、换行等问题。所以直接用vim + 复制粘贴。

3. 如果不想每次都手动输入 :set mouse-=a 来实现vim的粘贴功能,可以在当前用户的根目录下创建配置文件 .vimrc  。 下面用cat 命令显示一下该配置文件的内容

cat .vimrcif has('mouse')
set mouse-=a
endif

二、单个项目人员表的准备

同样用vim新建文本 a,将相关项目人员的内容粘贴进去,注意不要有空行,直接 dd 删除最后的空行即可保存。

三、使用 grep -f 命令进行数据筛出

grep -f a b >/home/Public/c.txt

该命令的作用是,按照文件a内的每一行的名字,去查b中是否有相同名字的内容,如果有,则将b中的该行内容,输出到 c.txt 文件中。

换句话说,就是以a文本的内容作为筛出条件,查看b文本中对应人名行的数据,并保存到c.txt中。

打开c.txt,复制内容到 单个项目人员的详情表内即可。这里假设为 项目人员详情.xlsx

四、反向筛出

如果某个项目有15个人参与,但只筛出了12个人的信息,则说明人员详情总表中缺少了3个人的详细信息的记录,要找出这3个人是谁,则在  项目人员详情.xlsx中复制人员名称,用vim c 粘贴,创建新的比对文件。

grep -vf c a >/home/Public/c.txt

上述命令的含义是,找出a中和c不一样的内容。 第三步是找出相同的内容,参数 -f  ;找不同 -vf

这篇关于Linux 中用grep命令 辅助excle筛查数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/851643

相关文章

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处