Nat*_*man 15 unix command-line duplicates
我有一个生成测试并预测输出的工具.我的想法是,如果我失败了,我可以将预测与实际输出进行比较,看看它们分歧的地方.问题是实际输出包含两行,这令人困惑diff.我想删除重复项,以便我可以轻松地比较它们.基本上,类似sort -u但没有排序的东西.
是否有任何unix命令行工具可以执行此操作?
Mat*_*t J 24
uniq答案的补充,如果您不介意sort首先使用您的文件,这将非常有用.如果您需要删除不相邻的行(或者如果您想删除重复项而不重新安排文件),则以下Perl单行应该执行此操作(从此处窃取):
cat textfile | perl -ne '$H{$_}++ or print'
Run Code Online (Sandbox Code Playgroud)
The*_*aul 19
概要
uniq [OPTION] ... [INPUT [OUTPUT]]
描述
丢弃INPUT(或标准输入)中连续相同行中的所有行,写入OUTPUT(或标准输出).
或者,如果你想删除不相邻的重复行,perl的这个片段也会这样做:
while(<>) {
print $_ if (!$seen{$_});
$seen{$_}=1;
}
Run Code Online (Sandbox Code Playgroud)