问题标签 [uniq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3531 浏览

linux - 有没有办法使用 uniq 只比较前 n 个字符?

根据文件,

http://www.computerhope.com/unix/uuniq.htm

该命令可用于忽略前 n 个字符

假设我希望有以下

根据前 20 个字符匹配为相同。有没有办法做到这一点?

0 投票
1 回答
3922 浏览

sorting - uniq 命令 - 如何获取分隔符选项并根据列进行搜索?

下面是排序的(基于第一列)选项卡划定的名为 file.txt 的文件

我想使用选项在第一列的基础上运行 uniq 命令(-t 和 -k 在排序命令的情况下)

好吧,这很容易,但我无法找到自己的方式。

这样我就可以得到输出:

帮助我,在此先感谢:)

0 投票
1 回答
1965 浏览

ruby - 如何在哈希数组中找到由多个键分组的最大值?

拥有具有这种结构的数据。将按“c”升序排列。

想要由“a”和“b”的每个唯一组合分组的“c”最大值数组。

其他键需要保留,但与转换无关。到目前为止,我能想到的最好的办法是反转数组(因此按“c”降序排列),uniq 按“a”和“b”,然后再次反转数组。但我依赖于 uniq_by 的实现,总是返回找到的第一个唯一项目。规范没有这么说,所以我担心依赖这种行为,因为它可能会在未来的版本中改变。还想知道这是否可能是一种非常低效的方法。

有没有更好更有效的方法来做到这一点?如果您确实有更好的方法,您能否也请解释一下,而不是只给我一个我可能无法破译的超级讨厌的单行字。

0 投票
3 回答
1837 浏览

sed - 如何在 awk 中模拟 `uniq -d`?

我有一个没有的busybox系统,uniq我想生成一个唯一的重复行列表。

一个普通的uniq模拟awk将是:

我如何使用awk(或sed就此而言,不是perl)来完成:

0 投票
3 回答
3923 浏览

unix - 从大文件中删除重复项

我有一个 ~20GB 的 csv 文件。示例文件:

此文件中的主键是第一列。我需要写两个文件,uniq.csv 和 duplicates.csv

uniq.csv 应包含所有非重复记录,并且 duplicates.csv 将包含所有具有当前时间戳的重复记录。

uniq.csv

重复.csv

我正在使用 Unix Sort,以便我可以利用它的 External R-Way 合并排序算法

我想知道是否可以通过单次扫描这个大文件来找到重复项和 uniq ?

0 投票
8 回答
69446 浏览

shell - 删除重复行而不排序

我在 Python 中有一个实用程序脚本:

这个简单的功能(uniq不需要先排序,稳定的排序)必须作为一个简单的 UNIX 实用程序提供,不是吗?也许是管道中过滤器的组合?

问的原因:在我无法从任何地方执行 Python 的系统上需要此功能。

0 投票
1 回答
4309 浏览

uniq - 在 Linux 中合并文件

我正在使用 Cygwin 合并多个文件。但是,我想知道我的方法是否正确。这既是一个问题,也是一个讨论:)

首先,关于我拥有的文件的一些信息:

  1. 这两个文件都有 ASCII 和非 ASCII 字符。
  2. File1有7899097行,大小约为70.9 Mb
  3. File2有14344391行,大小约为136.6 Mb

文件编码信息:

这是我合并两个文件,对它们进行排序,然后删除所有重复条目的方法:

  1. 我创建了一个临时文件夹并将两个文本文件都放在其中。
  2. 我运行以下命令来合并两个文件,但在两者之间保留换行符

    /li>

生成的 output.txt 文件中有22243490行,大小为 207.5 Mb

现在,如果我按如下所示对其运行排序命令,我会收到一个错误,因为其中存在非 ASCII 字符(可能是 unicode、宽字符):

因此,我将环境变量LC_ALL设置为 C,然后运行如下命令:

而且,result.txt 中有22243488行,大小为 207.5 Mb。

因此,result.txt 与 output.txt 相同

现在,我已经知道 output.txt 中有很多重复的条目,那么为什么上面的命令无法删除重复的条目呢?

另外,考虑到文件的大小,我想知道这是否是合并多个文件、对它们进行排序然后使它们唯一的有效方法?

0 投票
7 回答
6350 浏览

shell - 为什么 uniq -c 输出带有空格而不是 \t?

我使用 uniq -c 一些文本文件。它的输出是这样的:

……

所以我需要提取总数(比如上面的 123 和 2),但我不知道怎么做,因为如果我用空格分割这一行,它会像这样['123', 'first', 'word(tab)other', 'things']。我想知道为什么它不使用标签输出?

以及如何提取shell中的总数?(我终于用python提取了,WTF)

更新:对不起,我没有正确描述我的问题。我不想将总数相加,我只想将(空格)替换为(制表符),但这不会影响单词中的空格,因为我仍然需要后面的数据。像这样:

0 投票
4 回答
2568 浏览

arrays - 使 perl 数组唯一

我目前在捕获反引号 shell 命令的输出时遇到了一个非常简单的问题。我很抱歉这个问题很简单。

我有一些排序数组(@valid_runs),我知道它包含连续的重复元素。我想使用反引号将此数组回显到 uniq。我想在一个数组中捕获 STDOUT。我试图这样做。

此打印语句没有产生任何结果。就此而言,这也不是。

我知道如何使用 uniq 和 echo。这对我来说似乎很奇怪。我认为这与 perl 数组有关,而不是正确使用这些命令。我在其他地方搜索了一下,所以请不要仅仅因为解决方案看起来微不足道而对我投反对票。感谢你的宝贵时间。

关于解决方案的说明:就处理 uniq 问题而言,TLP 的解决方案是最直接的。我相当灵活,因为所有回复都建议不要针对这个问题进行系统调用。如果 Perl 的 uniq 函数与 Unix 的 uniq 相同,那么数组应该保持排序。

如果您不关心排序结果,John Corbett 的解决方案效果很好。

0 投票
2 回答
2394 浏览

ruby-on-rails - 尝试 uniq.pluck(:column_name) 时,RoR ActiveRecord::Base uniq undefined

所以我有一个非常简单的模型,叫做电影。我正在尝试添加一个类方法,该方法返回数据库中分配给电影的评分的整洁列表。看来我想打电话Movie.uniq.pluck(:rating)

所以我添加了这样的方法:

但它只是不起作用。当它运行时,我得到:undefined methoduniq' for #`... 我试过包括 ActiveRecord::Calculations 但这似乎也无济于事。我还在'def ...'之后设置了一个断点来检查self有哪些方法,果然,uniq不在其中......

我显然做错了什么,但我只是不太明白它是什么。

有人有想法么?