
正文
linuxuniq命令的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Linux里面uniq -c命令作用是什么?
uniq 对排序好linuxuniq命令的内容进行去重
-c 显示输出中linuxuniq命令,在每行行首加上本行在文件中出现的次数。
相关问答
Q1: Linux系统sort和uniq命令联合使用
给定两个文件 a.txt 和 b.txt linuxuniq命令,每行是一个记录(假设没有重复),要求输出两集合linuxuniq命令的交集、并集、差集,输出linuxuniq命令的结果只包括唯一项。
交集定义为同时出现在两个文件中的记录项linuxuniq命令;
并集定义为出现在任何一个文件中的记录项;
差集( A-B )定义为出现在A中而且不出现在B中的记录;
对称差集定义为只出现在一个文件中的记录;
假设 a.txt 包括 a, c, b 三行。假设 b.txt 包括 d, e, c, b 四行。
交集 ,把两个文件放到一起排序,只输出次数多于一次的项:
$ sort a.txt b.txt | uniq -d
并集 ,把两个文件放到一起排序,重复的项只算一次:
$ sort a.txt b.txt | uniq
差集(A-B) ,把B的元素重复2份和A的元素放到一起排序,只输出出现一次的项:
$ sort a.txt b.txt b.txt | uniq -u
对称差 ,把两个文件放到一起排序,只输出出现一次的项:
$ sort a.txt b.txt | uniq -u
指定分隔符(-t)及基于哪一列(-k)、基于数值(-n) 、逆序(-r)进行排序
#排序之后删除linuxuniq命令了重复行,同时在行首位置输出该行重复的次数:
执行命令:sort testfile | uniq -c ,输出结果如下
#仅显示存在重复的行,并在行首显示该行重复的次数:
执行命令:sort testfile | uniq -dc,输出结果如下
#仅显示没有重复的行:
执行命令:sort testfile | uniq -u,输出结果如下
Q2: 【shell】Linux删除文本重复行
通常如果我们想获取一个文件里不重复的行的时候,我们可以直接通过 sort -u 命令,先把文件排序,然后去掉连续的重复行就行。
可是,如果我们去掉重复行之后,还想保留文件原有的顺序,该怎么办呢?
虽然 Linux 下有个看上去似乎很有用的命令叫uniq,但事实上 uniq 命令仅仅只对连续的重复行有效。
如果不排序,直接使用 uniq 命令是没有用的;使用 sort -u 的话,我们就丢失了文件原有的行的顺序了。
一个终极的解决方案是使用 awk:
简要解释一下:awk 的基本执行流程是,对文件的每一行,做一个指定的逻辑判断,如果逻辑判断成立,则执行指定的命令;如果逻辑判断不成立,则直接跳过这一行。
我们这里写的 awk 命令是!x[$0]++,意思是,首先创建一个 map 叫x,然后用当前行的全文$0作为 map 的 key,到 map 中查找相应的 value,如果没找到,则整个表达式的值为真,可以执行之后的语句;如果找到了,则表达式的值为假,跳过这一行。
由于表达式之后有++,因此如果某个 key 找不到对应的 value,该++操作会先把对应的 value 设成 0,然后再自增成 1,这样下次再遇到重复的行的时候,对应的 key 就能找到一个非 0 的 value 了。
我们前面说过,awk 的流程是先判断表达式,表达式为真的时候就执行语句,可是我们前面写的这个 awk 命令里只有表达式,没有语句,那我们执行什么呢?原来,当语句被省略的时候,awk 就执行默认的语句,即打印整个完整的当前行。就这样,我们通过这个非常简短的 awk 命令实现了去除重复行并保留原有文件顺序的功能。
Q3: Linux文本操作常用命令
在Linux系统里常用于文本查看、操作、统计的命令linuxuniq命令:
通过多敲键盘,形成手感 肌肉记忆 ,熟练掌握这些命令,在以后生信分析中游刃有余。以下是每个命令的详细的介绍(主要是跟着 生信技能树小郭老师 学习做的笔记)
接下来通过示例把10个命令的常用参数和用法展示出来:
参数的用法介绍:
注意事项:
用 cat 命令可以 查看文本 ,也可以 编辑文本 ,编辑文本要加 符号,退出时,另起一行,按 control C 退出
zcat可以查看压缩的文本文件,tac逆向查看
结合 管道符| 使用
head / tail -n :查看文件的前 / 后 n 行,默认 10 行 (在R语言里head和tail默认是前6行)。
less命令用得最多 ,more命令用得比较少
3.1 less命令
less [参数] 文件名
less命令重要的补充用法1 :
需要注意 退出 :只要使用less命令, 按q键
less命令重要的补充用法2 :
参数用法:
less命令 不加参数 查看文件:
less命令加 -N参数 查看文件:显示行号
less命令加 -S参数 查看文件:单行显示,非常规整
对比:less和cat命令显示文本行号的用法:less -N,cat -n
3.2 more命令
**more ** 逐页查看,按空格翻页,按回车换行 ,more命令一般很少用,熟练掌握less命令就好
查看压缩文件
wc 统计字符是也把换行符统计进去,但是别的命令不一定会把换行符算进去,。
常见参数:
切记:用less命令,按q退出
cut命令是按关键词来切的
常见参数:
排列前:
排列后:
解释:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。
命令行查看一个表格结构时,因为制表符对齐的原因,出现一个错位的现象。还有 字典排序 可能和linuxuniq命令我们平时的认知不一样,所以 加上-n参数 , 让数值有数学意义上的大小来排序 。
uniq命令去重,只有两行出现重复,而且是相邻的两行,如果不相邻,即使出现两行一模一样,不会去重。
uniq命令通常和sort命令搭配使用
换其它文件试试
总之,uniq命令使用时经常和sort一起
常见参数:
常见用法1:
paste file1 file2
-s :按行合并 演示
常见用法2 : paste - -
常见参数:
要养成一个好习惯,原始数据不要轻易修改,修改的东西另外保存,文本保存用 (重定向)或是 (追加)
1. 用 less 查看 example.gtf ,然后管道符传递给 wc
2. 截取 example.gtf 第 9 列的内容
3. 在第2步的基础上截取分号分割的第1列
4. 在第3步的基础上排序、去重复并统计
5. 在第4步的基础上,将空格替换成制表符
补充小知识 :
清屏 :control L
查看历史(输入过的)命令 :history
关于linuxuniq命令和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







