uniq命令文件过滤分割与合并

uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。

uniq 只能关联临近行,不能全文处理 ,如果想全文处理 ,需要sort 先处理之后进行操作

语法

uniq(选项)(参数)

选项

选项 作用
-c或——count 在每列旁边显示该行重复出现的次数;
-d或--repeated 仅显示重复出现的行列
-f<栏位>或--skip-fields=<栏位> 忽略比较 指定的栏位
-s<字符位置>或--skip-chars=<字符位置> 忽略比较 指定的字符
-u或——unique 仅显示出一次的行列;
-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。

-c 覆盖 -u 选项

参数

  • 输入文件 : 指定要去除的重复行文件。如果不指定此项,则从标准读取数据;

  • 输出文件: 指定要去除重复行后的内容要写入的输出文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。

实例

  1. 删除重复行:

    ```sh uniq file.txt

    sort file.txt | uniq

    sort -u file.txt ```

    -u 选项区分 sort 命令,sort是全文去重 ,uniq是只去掉连续重复的,不连续的不会去重

  2. 只显示单一行:

    sh uniq -u file.txt sort file.txt | uniq -u

  3. 统计各行在文件中出现的次数(重点):

    sort file.txt | uniq -c

  4. 在文件中找出重复的行:

    sort file.txt | uniq -d