unix工具从文件中删除重复的行

前端之家收集整理的这篇文章主要介绍了unix工具从文件中删除重复的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个工具来生成测试并预测输出.这个想法是,如果我失败了,我可以将预测与实际产出进行比较,看看它们在哪里分歧.问题是实际输出包含一些行两次,这混淆了diff.我想删除重复项,以便我可以很容易地比较它们.基本上,像sort -u,但没有排序.

有没有可以做到这一点的unix命令行工具?

uniq(1)

概要

uniq [OPTION]… [INPUT [OUTPUT]]

描述

Discard all but one of successive identical lines from INPUT (or standard input),writing to OUTPUT (or standard output).

或者,如果你想删除不相邻的重复行,那么这个片段的perl将会这样做:

while(<>) {
    print $_ if (!$seen{$_});
    $seen{$_}=1;
}

猜你在找的Bash相关文章