> invers-6ren">
gpt4 book ai didi

linux - 为什么 uniq -c 命令在某些情况下会返回重复项?

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:46 24 4
gpt4 key购买 nike

我正在尝试grep查找一个文件中不存在于另一个文件中的单词

grep -v -w -i -r -f "dont_use_words.txt" "list_of_words.txt" >> inverse_match_words.txt


uniq -c -i inverse_match_words.txt | sort -nr

但是我在 uniq 命令中得到了重复的值。为什么会这样?

我想知道这是否可能是因为 grep 区分字符串,例如,在“GIRLAAA”、“AAABOY”、“GIRLAAABOY”中找到“AAA”,因此,我最终得到了重复项。

当我执行 grep -F "AAA" 时,所有这些都会返回。

如果有人能帮助我解决这个问题,我将不胜感激。我是 Linux 操作系统新手。

最佳答案

uniq 消除每组连续重复行中除一行之外的所有内容。因此,使用它的传统方法是首先通过sort传递输入。您没有这样做,所以是的,(非连续的)重复项完全有可能保留在输出中。

示例:

grep -v -w -i -f dont_use_words.txt list_of_words.txt \
| sort -f \
| uniq -c -i \
| sort -nr

关于linux - 为什么 uniq -c 命令在某些情况下会返回重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com