Uniq 命令用法?

Uniq 命令用法?

我有一些文件内容并想uniq对其使用命令但它不起作用我错过了什么?

$ cat ornek_2
elma
elma
armut
armut 
erik
kayısı
üzüm 

uniq命令;

$ cat ornek_2 | uniq
elma
armut
armut 
erik
kayısı
üzüm 

使用sort | uniq命令

$ cat ornek_2 | sort | uniq
armut
armut 
elma
erik
kayısı
üzüm 

答案1

两行“armut”并不完全相同。其中一行末尾有一个空格。

我在编辑问题时意识到了这一点。我恰好点击了行末,注意到了单词和光标之间的间隙。但是,如果我当时没有意识到这一点,我会uniname像这样输入这两行,以分析每个字符:

$ grep "armut" ornek_2 | uniname
character  byte       UTF-32   encoded as     glyph   name
        0          0  000061   61             a      LATIN SMALL LETTER A
        1          1  000072   72             r      LATIN SMALL LETTER R
        2          2  00006D   6D             m      LATIN SMALL LETTER M
        3          3  000075   75             u      LATIN SMALL LETTER U
        4          4  000074   74             t      LATIN SMALL LETTER T
        5          5  00000A   0A                     LINE FEED (LF)
        6          6  000061   61             a      LATIN SMALL LETTER A
        7          7  000072   72             r      LATIN SMALL LETTER R
        8          8  00006D   6D             m      LATIN SMALL LETTER M
        9          9  000075   75             u      LATIN SMALL LETTER U
       10         10  000074   74             t      LATIN SMALL LETTER T
       11         11  000020   20                     SPACE
       12         12  00000A   0A                     LINE FEED (LF)

参见上述输出中的字符 11

如果您想检查其他行是否以空格(空格、制表符等)结尾,可以使用 grep:

$ grep -E '\s+$' ornek_2
armut 
üzüm 

顺便说一句,您不需要将管道cat插入uniqsort。您可以直接运行uniq ornek_2sort ornek_2 | uniq,尽管在这种情况下这不是什么大问题。更多详细信息请见:我应该关心不必要的猫吗? - Unix 和 Linux

答案2

我尝试了你的示例文件。我也遇到了你的错误。但是当我写阿尔穆特再次由我自己解决了问题!

如果您从任何地方复制此文本,请将其再次输入到您的文件中。

sort a | uniq -ic
  2 armut
  2 elma
  1 erik
  1 kayısı
  1 üzüm 

相关内容