linux - linux 排序是否有不兼容的参数

标签 linux bash sorting

我想按数字顺序对文件进行排序,并使用 sort -nu [filename] 进行唯一化。

$ *** | sort -n  | wc
201172
$ *** | sort -nu | wc
9599
$ *** | sort -un | wc
9599
$ *** | sort -n  | sort -u | wc
201149
$ *** | sort -u  | wc
201149

为什么 sort -un 的行数减少了?所以我尝试在一个小的数字文件上运行上面的命令,看看是否有任何问题。它按预期工作。

  • 我是否漏掉了一些明显的东西?或
  • 那些选项彼此不兼容?我为此检查了 man sort,没有提供有关此组合的信息。 提前致谢。

编辑

  • 我该如何解决这个问题? (分别使用 nu 选项?)

最佳答案

-u 删除重复项。

是的,如果 key 在文件中重复,显然它会减少行数。

的区别
sort -n | sort -u

然后是第二个 sort -u 管道命令考虑整行,而不仅仅是数字键。

关于linux - linux 排序是否有不兼容的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20990554/

相关文章:

linux - MPI 在外部网络上运行

linux - BASH 嵌套进程替换

c - 是否需要关闭 systemv 消息队列

python - 根据两列提取行数据

java - 在 Java 中使用 CSV 文件的最佳方式

打开 gnome-terminal 并执行多个命令的 Python 语法

bash - 遍历文件中的行并扩展全局变量

jquery - 如何使用 jQuery Tablesorter 对包含两个 div 的列进行排序?

c# - 如何使用 LINQ 对多列数据表进行排序

Bash 不正确地连接字符串