uniq

    主要用途

    • 将输入文件(或标准输入)中邻近的重复行写入到输出文件(或标准输出)中。
    1. -d, --repeated 所有邻近的重复行只被打印一次。
    2. -D 所有邻近的重复行将全部打印。
    3. --all-repeated[=METHOD] 类似于 -D,但允许每组之间以空行分割。METHOD取值范围{none(默认),prependseparate}。
    4. -f, --skip-fields=N 跳过对前N个列的比较。
    5. --group[=METHOD] 显示所有行,允许每组之间以空行分割。METHOD取值范围:{separate(默认),prependappendboth}。
    6. -i, --ignore-case 忽略大小写的差异。
    7. -z, --zero-terminated 设置行终止符为NUL(空),而不是换行符。
    8. -w, --check-chars=N 只对每行前N个字符进行比较。
    9. --help 显示帮助信息并退出。
    10. --version 显示版本信息并退出。

    参数

    INPUT(可选):输入文件,不提供时为标准输入。

    OUTPUT(可选):输出文件,不提供时为标准输出。

    例子

    注意:命令2和命令3结果一样,命令1仅作了相邻行的去重。

    只显示单一行,区别在于是否执行排序:

    1. uniq -u file.txt

    在文件中找出重复的行:

    1. sort file.txt | uniq -d
    1. uniq只检测邻近的行是否重复,sort -u将输入文件先排序然后再处理重复行。