装修网站是怎么建设的,无锡网站制作一般多少钱,网站开发工具有组合,加强网站安全建设方案问题#xff1a;因为要对多个年度的多个工作的相关于人员进行匹配#xff0c;以形成人员信息详细表#xff0c;要从总表中根据项目人员名单进行筛出。最常用是excle 中的VULOOUP 函数#xff0c;但是由于人员信息详表中有格式、内容方面的问题#xff0c;无法实现#xf…问题因为要对多个年度的多个工作的相关于人员进行匹配以形成人员信息详细表要从总表中根据项目人员名单进行筛出。最常用是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