首页 > 系统相关 >linux 中 awk命令输出一列中多个类别中各项首次或者最后一次出现的项

linux 中 awk命令输出一列中多个类别中各项首次或者最后一次出现的项

时间:2024-01-31 17:25:32浏览次数:33  
标签:test1 map pc1 ay awk 一列 linux test root

 

001、输出首次出现的项

[root@pc1 test1]# ls
test.map
[root@pc1 test1]# cat test.map         ## 测试数据
1       55910
1       85204
1       122948
2       167127
2       176079
2       361433
3       144010
3       199910
3       234281                         ## 输出首次出现的项
[root@pc1 test1]# awk '{if (!($1 in ay)) {print $0; ay[$1] = 0}}' test.map
1       55910
2       167127
3       144010

 

002、输出最后一次出现的项

[root@pc1 test1]# ls
test.map
[root@pc1 test1]# cat test.map                         ## 测试数据
1       55910
1       85204
1       122948
2       167127
2       176079
2       361433
3       144010
3       199910
3       234281                                         ## 输出最后出现的项
[root@pc1 test1]# awk '{ay[$1] = $2} END {for(i in ay) {print i, ay[i]}}' test.map
1 122948
2 361433
3 234281

 。

 

标签:test1,map,pc1,ay,awk,一列,linux,test,root
From: https://www.cnblogs.com/liujiaxin2018/p/17999714

相关文章

  • Linux修改 SSH 端口
    1.编辑sshd配置,修改默认的端口。vi/etc/ssh/sshd_config找到配置端口号的位置,可在命令行模式下输入'?#Port22'进行查找。详细命令可查看Linuxvi/vim#Port22修改为:Port22Port10022#变更后的端口这样做防止10022端口不能连接的情况下还可以使用22端口连接,保存退出......
  • Linux中 awk命令输出一列多个类别中 每个类别中最大的项
     001、(base)[b20223040323@admin1test]$lsa.txt(base)[b20223040323@admin1test]$cata.txt##测试数据a88a76b88c10b777c200a87c150a34b25a66##输出第一列中每一类别中值最大的项(base)[b20223040......
  • linux安装jdk17
    下载安装包cd/usr/local/jdkwgethttps://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz-P/usr/local/jdk/或wgethttp://49.232.8.65/jdk/jdk17/jdk-17_linux-x64_bin.tar.gz-P/usr/local/jdk/解压tarxf/usr/local/jdk-17_linux-x64_bin.tar......
  • linux基础命令(二)
    #################################################预备知识Linux目录结构:树型结构•最顶层为根目录(/)–Unix/Linux的基本哲学理念:一切皆文件根目录(/):所有的数据都在此目录下(Linux系统的起点)路径:/abc/nsd/1.txt/dev:存放设备(硬盘或键盘或鼠标或显示器.....)相关......
  • 网络安全(4)Linux系统漏洞修复
    1.OpenSSL通过防火墙规避登录服务器,启用防火墙(注意:该操作可能导致业务中断,需同时配置业务端口放通配置保障业务可用)Systemctlstartfirewalld2、添加仅允许192.168.100.0/22段访问22端口策略:firewall-cmd--permanent--zone=public--add-rich-rule="rulefamily="ipv4"s......
  • 【OpenCV】在Linux上使用OpenCvSharp
    前言OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和MacOS。OpenCvSharp是一个OpenCV的.Netwrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,该库采用LGPL发行,对商业......
  • Linux服务器Crontab定时任务配置
    Linux服务器Crontab定时任务配置  1、检查linux系统是否有crontabrpm-qa|grepcrontab2、如果未安装进行安装yum-yinstallvixie-cronyum-yinstallcrontabs3、crontab启动、停止、运行状态systemctlstartcrond启动systemctlstopcrond停止sy......
  • Oracle DCD和Linux TCP KeepAlive和网络硬件防火墙探讨
     OracleDCD和LinuxTCPKeepAlive和网络硬件防火墙探讨 Oracle的某些会话在超时断开后在警告日志抛出一定量类似如下日志:FriAug1917:51:322022***********************************************************************FatalNIconnecterror12170.VERSIO......
  • Linux下的查看已安装软件、卸载
    因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了,总结起来有这样几类:1、使用rpm包方式安装的,可以用rpm-qa命令查看到,如果要查找某软件包是否安装,用rpm-qa|grep“软件或者包的名字”。例如,查看有没有ruby:[root@hexuweb102~]rpm-qa|gre......
  • Linux脚本之文件内容去重脚本
    前言脚本为自用脚本,用于在Linux上完成文件内容的去重工作,但是此文件对二进制文件无效,只针对文本文件进行去重脚本内容#!/bin/bash#检查参数是否正确if[$#-ne1];thenecho"用法:$0<文件名>"exit1fi#获取指定文件的文件名filename=$1#使用sort和uniq......