当前位置: 首页 > 面试题库 >

如何过滤文件中所有唯一的行?

丘浩宕
2023-03-14
问题内容

有没有一种方法可以通过命令行工具过滤掉文件中的所有唯一行,而无需对行进行排序?我基本上想这样做:

sort -u myFile

没有排序的性能损失。


问题答案:

删除重复的行:

awk '!a[$0]++' file

这是著名的awk单线。关于inet有很多解释。这是一种解释:

这种单线是非常习惯的。它注册在关联数组“ a”中看到的行(数组在Awk中始终是关联的),并同时测试是否看到过该行。如果已经看过前面的行,则a
[line]> 0且!a [line] ==0。任何计算结果为false的表达式均为空操作,而任何评估为true的表达式均等于“ {print }”。



 类似资料:
  • 问题内容: 我在页面上使用angularjs。我想过滤JSON对象中的值,以便不存在冗余。但是我没有找到任何方法可以从角度ng-repeat中获得唯一值。反正有做吗? 好的,这是有关该问题的一些描述。我有这种格式的JSON。我从服务中获取此JSON。因此,我们不能期望重复数据如何发生。 我希望输出JSON不包含重复的元素,这样我的输出将是这样的 问题答案: 您可以使用已定义过滤器的Angular

  • 问题内容: 我想了解 从另一个数组的所有元素过滤数组 的最佳方法。我尝试使用过滤器功能,但是如何给它提供要删除的值并没有解决。 就像是: 如果过滤器功能没有用,您将如何实现呢? 编辑:我检查了可能重复的问题,它可能对那些容易理解javascript的人有用。选中的答案很容易。 问题答案: 您可以使用函数的参数来避免将过滤器数组存储在全局变量中。

  • 过滤掉数组中的非唯一值。 使用 Array.filter() 滤除掉非唯一值,使数组仅包含唯一值。 const filterNonUnique = arr => arr.filter(i => arr.indexOf(i) === arr.lastIndexOf(i)); filterNonUnique([1, 2, 2, 3, 4, 4, 5]); // [1,3,5]

  • 我有一个包含以下列的表:id、col1、col2、col3、col4、col5、col6。 约束表示至少有3列被填充(所以最多3个NULs)。(列不按顺序填充,所以可以有col1、col2、col5被填充,col3、col4、col6是NULs) 如何确保当该列不为NULL时,它在此行的其他列中是唯一的?如何确保非空值的组合在所有行中都是唯一的? 我目前添加了以下约束(以确保至少3个非空):

  • 亲爱的各位:在获取下表中所有重叠的范围后: 范围 通过使用: 我现在有一些我想避免的额外信息,例如: (a)status='unused'的行 (b)没有重叠的行 在发现范围重叠后,您知道如何避免/过滤(a)和(b)吗?

  • 问题内容: 如何检查Oracle中所有字段是否唯一? 问题答案: 如果它们的出现次数大于一(即它们不是唯一的),这将返回所有myColumn值以及它们的出现次数。 如果此查询的结果为空,则此列中具有唯一值。