Linux 命令 - uniq: 通知或忽略重复行

给定一个已排好序的文件,uniq 会删除重复行并将结果输出到标准输出中。uniq 通常与 sort 结合使用以删除 sort 输出内容中的重复行。

命令格式

uniq [OPTION]... [INPUT [OUTPUT]]

命令参数

-c, --count
  输出重复行列表,并且重复行前面加上其出现的次数。

-d, --repeated
  只输出重复行。

-f, --skip-fields=N
  忽略每行前 N 个字段。字段以空格隔开,这与 sort 类似,但不能提供参数设置可选择的字段分隔符。

-i, --ignore-case
  比较时不区分大小写。

-s, --skip-chars=N
  忽略每行的前 N 个字符。

-u, --unique
  仅输出不重复行,这是默认的选项。

-z, --zero-terminated
  以 0 字节而非新行作为行尾标志。

-w, --check-chars=N
  只对前 N 个字符作比较。

--help
  显示帮助信息。

--version
  显示版本信息。

实例

测试文件 testfile:

good bye
good bye
hello world
hello world
how do you do
long time no see
long time no see
long time no see
this is a test file
this is a test file

a) 忽略重复行。

[[email protected] cmdline]$ uniq testfile
good bye
hello world
how do you do
long time no see
this is a test file

b) 忽略重复行,并在每行前显示重复数。

[[email protected] cmdline]$ uniq -c testfile
      2 good bye
      2 hello world
      1 how do you do
      3 long time no see
      2 this is a test file

c) 仅输出有重复的行。

[[email protected] cmdline]$ uniq -d testfile
good bye
hello world
long time no see
this is a test file
时间: 2024-12-15 06:52:38

Linux 命令 - uniq: 通知或忽略重复行的相关文章

uniq命令注意事项,检查重复行的时候,只会检查相邻的行。

今天在使用uniq命令统计数量时,uniq -c总是得不到想要的效果,相同的行没有合并,例如 后来在http://ju.outofmemory.cn/entry/78365才看到,原来uniq检查重复行的时候,只会检查相邻的行,茅塞顿开. 加上sort命令把各行先排个序,把相同的行放到一起,然后再用uniq就好了:

python学习- 打印最常用的10条linux命令和查找目录下重复的文件

一.打印最常用的10条linux命令 #!/usr/bin/python #coding=utf-8 import os from collections import Counter c = Counter() with open(os.path.expanduser('~/.bash_history')) as f: for line in f: cmd = line.strip().split() if cmd: c[cmd[0]]+=1 print c.most_common(10) 效

Linux命令之grep/sed/awk等行转列

行转列样例文件如下 cat file.txt a b c d e f g h i cat file.txt |xargs -n1 xargs -n 1 < file.txt tr " " "\n" < file.txt 4.sed 's/ /\n/g' file.txt   此命令在Linux上执行正常,在Mac上执行无效,原因是因为Mac上的sed是BSD版本,Linux上的是Gnu版本,在Mac上需要使用sed -e 's/ /\'$'\n/g' f

Linux命令总结--uniq命令

Linux uniq 命令 Linux 命令大全 Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用. uniq 可检查文本文件中重复出现的行列. 语法 uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件] 参数: -c或--count 在每列旁边显示该行重复出现的次数. -d或--repeated 仅显示重复出现的行列. -f<栏

Linux命令之 uniq

uniq uniq 命令可以去除排序过的文件中的重复行,因此 uniq 经常和 sort 合用.也就是说,为了使 uniq 起作用,所有的重复行必须是相邻的.详细看例一. [email protected]:~/shell#uniq  -[icu] 选项与参数: -i:    忽略大小写字符的不同; -c :    进行计数 -u :    只显示唯一的行 -d:   只显示有重复的行 -s  N:    忽略前面的N个符 例一: #file文件内容 [email protected]:~/sh

99%运维人都需要的Linux命令大全

1登陆和开关机 关机 halt poweroff init 0 重启 reboot init 6 shutdown shutdown -r 重启 shutodwn -h 关机 shutdown -c 取消计划关机 shutdown +0 马上关机 +1 一分钟后关机 -X X分钟后关机 20:00 今天20:00关机 whoami 显示当前的登录用户名 who am i 显示当前的登录用户名 终端名 登录时间 who 显示当前所有的登录用户名 终端名 登录时间 w 显示当前所有的登录用户名 终端

linux命令查看日志

首先介绍几个日志查看种常用的简单命令: 1.tail tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件. tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容. 命令格式: tail [参数] [文件] 参数: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示文件的尾部 n 行

Linux命令分类汇总(1~6)

Linux命令分类汇总 序号 命令 参数 英文释义 功能说明 (一)线上查询及帮助命令(2个) 1 man manual 查看命令帮助,命令的词典,还有info 2 help h 查看Linux内置命令的帮助 (二)文件和目录操作命令(15个)排除了他们,成人免费的,突出两方面 3 pwd print working directory 显示当前工作目录的绝对路径 4 cd -/~/.. change directory 从当前工作目录切换到指定的工作目录. 5 ls l/a/d/i/h/F l

50个必知的Linux命令技巧

1.Vim自动添加注释及智能换行 #vi ~/.vimrc set autoindent set tabstop=4 set shiftwidth=4 function AddTitle() call setline(1,"#!/bin/bash") call append(1,"#====================================================") call append(2,"# Author: lizhenli