Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 为什么这两个命令之间存在差异_Sorting_Unique - Fatal编程技术网

Sorting 为什么这两个命令之间存在差异

Sorting 为什么这两个命令之间存在差异,sorting,unique,Sorting,Unique,我试图过滤掉一些东西,并使用一个长的linux命令,但有两个不同之处。在第一种情况下,我使用了 cat test.txt | sort | uniq -c | wc -l 在第二种情况下,我使用了 不分类 cat test.txt | uniq -c | wc -l 我想知道为什么行数不同?有人能解释一下吗 谢谢 Upendrauniq将一行的多个连续出现替换为一行;如果它们不是连续的,就不会被替换。例如,考虑输入: word word other word word uniq将变成: w

我试图过滤掉一些东西,并使用一个长的linux命令,但有两个不同之处。在第一种情况下,我使用了

cat test.txt | sort | uniq -c | wc -l
在第二种情况下,我使用了 不分类

cat test.txt | uniq -c | wc -l
我想知道为什么行数不同?有人能解释一下吗

谢谢 Upendra

uniq将一行的多个连续出现替换为一行;如果它们不是连续的,就不会被替换。例如,考虑输入:

word
word
other
word
word
uniq将变成:

word
other
word
现在,当您首先排序时,原始输入变成:

other
word
word
word
word
然后uniq,现在所有的字都是连续的,将输出:

other
word

正如Richard描述的uniq工作原理,它取决于用途

不过,它应该只与您的第一个命令配合使用,不管怎样,您不会更改test.txt文件,您只需要获取计数


如果您对不使用排序非常感兴趣,最好使用一些循环来获取重复记录,并使用bash脚本获取计数。

uniq假设输入已排序。非常感谢。即使uniq值不是连续的,我如何获得它们。我的主要目的是保持顺序不变,因此不希望排序,但仍然希望获得uniq值。。。。您将使用uniq以外的工具来完成此操作!:-如果你想让这个问题得到其他人的适当关注,应该把它作为一个新问题发布。我现在只能回答你的第一个问题。