“-dD”对“uniq”意味着什么?

“-dD”对“uniq”意味着什么?

https://unix.stackexchange.com/a/277707/674

find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD

可以查找当前目录下的重复文件。

是什么-dD意思uniq?我在联机帮助页中看到了-d和的含义-D,但不确定它们一起使用时的含义。谢谢。

答案1

总长DR 最重要的是,它们一起使用时没有任何作用;-dD与 相同-D

研究

如果您查看uniq.c命令的 case/switch 逻辑,您可以第一手看到这一点:

case 'd':
  output_unique = false;
  output_option_used = true;
  break;

case 'D':
  output_unique = false;
  output_later_repeated = true;
  if (optarg == NULL)
    delimit_groups = DM_NONE;
  else
    delimit_groups = XARGMATCH ("--all-repeated", optarg,
                                delimit_method_string,
                                delimit_method_map);
  output_option_used = true;
  break;

这段代码的结构方式,如果-dD设置了其中之一,则ouput_unique设置为 false;但更重要的是,output_later_repeated设置为true。

一旦设置了该条件 ,除了与 相同的输出之外,output_later_repeated没有其他可行的方法。-dD-D

顺便说一句,Computerhope 手册页有一个更好的表格来解释-d-D开关。

参考

答案2

毫无uniq -dD意义 - 它相当于uniq -D.和都会产生相同的结果,因为-dD的输出集是 的子集。-D-d-D

相关内容