linux shell之提取分类数据

简介:
 前段时间,由于shell相关知识掌握比较少,同事给了一任务让我去做,于是第一时间让自己想到了运用oracle数据库,导来导去,人肉了一番,最后由于时间关系还是放弃了,让他自己做去了,没想到同事是早就做了,只不过是想人肉一下而已。
        近来开始着手写相关shell的知识了,步入正题;
同事给的数据是这样的:
3010 BBB  [email]AA@aaa.com[/email] aaa-产品技术及用户体验部 资深总监 11616 13700000000 AAAV 卜鹰 assdd
 
上面这数据只是其中一条数据并不是分隔开来的,而且排列是无序的,员工人数达1000多的员工资料,要做的事是把部门分隔开(即一级部门是哪些,二级部门是哪些等)。上面的部门为:aaa-产品技术及用户体验部
下面开始;文件名为test
 
 
输出一级部门命令:
 awk '{print $4}' test|awk -F '-' '{ print $1}'|sort|uniq
输出二级部门命令:
awk '{print $4}' test|awk -F '-' '{ print $1,$2}'|sort|uniq
其它类推
上面的awk命令用于分隔作用
 
或者使用下面命令也可
awk '{print $4}' test |awk '{if ($1 ~ /^aaa/) print $1}'|sort|uniq -c
解释下相关命令,用cat提取相关数据传送给awk,awk打印出以一级部门为aaa的相关部门数据传递给sort排序,再使用uniq命令去除重复的数据,uniq -c是点相关部门的相关人数
本文转自 qwjhq 51CTO博客,原文链接:http://blog.51cto.com/bingdian/127593

相关文章
|
4月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
113 4
|
4月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
252 3
|
5月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
378 25
|
5月前
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
85 18
|
5月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
265 28
|
7月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
561 32
|
10月前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
|
Ubuntu Unix Shell
《Linux C编程从入门到精通》——第 1 章 Linux基础 1.1Linux的起源、发展和分类
Linux是一套免费使用和自由传播的类UNIX操作系统,它已发展成为现今世界上最流行的一种操作系统。Linux不仅仅能在PC机上运行,随着嵌入式系统的发展,它已经被广泛地应用于各种场合。
1665 0
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
622 13