首页 > 系统相关 >linux中实现去重复且保持原来的顺序

linux中实现去重复且保持原来的顺序

时间:2023-09-07 23:26:06浏览次数:35  
标签:顺序 重复 test01 pc1 ## linux ay txt root

 

001、去重复保持原来的顺序

[root@pc1 test01]# ls
a.txt
[root@pc1 test01]# cat a.txt            ## 测试数据
1
2
5
5
3
3
7
7
4
[root@pc1 test01]# awk 'ay[$0]++' a.txt    ## 输出重复项,且保持原来的顺序
5
3
7
[root@pc1 test01]# awk '!ay[$0]++' a.txt    ## 去除重复项,且保持原来的顺序
1
2
5
3
7
4

 

002、取唯一项,并保持原来的顺序

[root@pc1 test01]# ls
a.txt  test.sh
[root@pc1 test01]# cat a.txt         ## 测试数据
1
2
5
5
3
3
7
7
4
[root@pc1 test01]# cat test.sh       ## 测试脚本
#!/bin/bash

dup=$(awk 'ay[$0]++' a.txt | wc -l)

awk 'ay[$0]++' a.txt | cat - a.txt | awk -v a=$dup '!ay[$0]++ && NR > a'
[root@pc1 test01]# bash test.sh     ## 取唯一项,保持原来的顺序
1
2
4

 。

 

参考:https://www.cnblogs.com/chenwenyan/p/17572197.html 

 

标签:顺序,重复,test01,pc1,##,linux,ay,txt,root
From: https://www.cnblogs.com/liujiaxin2018/p/17686332.html

相关文章

  • 用断言更好地实现替换重复出现的单词
     断言是指对匹配到的文本位置有要求。也就是说,在有些情况下,我们对要匹配的文本的位置也有一定的要求。为了解决这个问题,正则中提供了一些结构,只用于匹配位置,而不是文本内容本身,这种结构就是断言。常见的断言有三种:单词边界、行的开始或结束以及环视。 1、单词边界(WordBoundary)单......
  • linux里如何将一个文件和一个套接字绑定?
    要将一个文件和套接字绑定,你可以使用Linux中的命名管道(NamedPipe)来实现。命名管道是一种特殊类型的文件,可以用来在进程之间进行通信。你可以将命名管道作为一个文件来进行操作,同时将其连接到套接字以进行网络通信。以下是将文件内容输入到套接字的简单示例:创建一个命名管道:mkfifo......
  • Linux下安装配置maven
    一、安装以及配置maven1.下载maven安装包首先需要切换到自己需要安装的目录我自己是把配置都放到了:/home/sunny路径下cd/home/sunny下载maven安装包:wgethttps://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz如果没有wget命令,需要下载:y......
  • linux安装java环境
    linux安装java环境linux安装jdk,即Linux安装java运行环境一、下载安装包[root@localhostdownload]#wgethttps://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz-bash:wget:未找到命令123执行wget命令下载安装包,发现wget命令未找到,那么先安装wget命令,......
  • Linux的小白之路4
      第五章用户身份与文件权限用户介绍root管理员 权限最大、限制最小root UID:0系统用户管理服务的 rHEL5/6 1-499rHEL7/8 1-999普通用户 工作用户 rHEL5: 500-65535UID从1000开始创建用户useradd参数 作用-d 指定用户的家目录(默认为/home/username)-e 账户的到期......
  • 《Linux从入门到精通》(第2版 刘忆智 等著) 学习感受
    这本书确实是一本非常基础的入门书籍,网上评价比较高,但是它的内容是否真的有那么好,我感觉也就那样了,毕竟是非常基础的书籍,怎么写也很难写出花来。对于基本的使用不同的书籍描述应该也差不多(我没有认真看过其他书籍......
  • Qt图形视图框架事件传递顺序
     全文链接:http://www.fearlazy.com/index.php/post/111.html Qt为我们提供的图形视图框架真的是非常好用,它通过分解出视图、场景和图元降低了我们绘制图形的难度。它提供了强大图元控制能力,如快速查找图元、检测图元位置、检测图元碰撞等。除此以外图形视图框架还有一个很强大......
  • Linux-部署环境练习案例
    需要的文档都放在此链接里啦链接(链接是绝对安全的,文档放在百度网盘里):百度网盘这样是为了方便过审^_^部署Docker1.卸载之前版本yumremovedockerdocker-clientdocker-client-latestdocker-commondocker-latestdocker-latest-logrotatedocker-logrotatedocker-engine#或yum......
  • 21 Linux 自带的LED驱动
    一、Linux自带LED驱动使能  其实Linux内核自带LED抢夺那个,但在此之前需要配置Linux驱动来使能LED驱动。  输入以下命令:cdlinux/atk-mpl/linux/my_linux/linux-5.4.31makemenuconfig  根据以下路径找到LED驱动:→DeviceDrivers→LEDSupport(NE......
  • linux c语言设置系统时间
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<sys/time.h>#include<unistd.h>voidmain(){printf("beforetimeset");fflush(stdout);system("date");system("hwcl......