`-dD` 对 `uniq` 意味着什么?

Tim*_*Tim 1 coreutils uniq

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

find . ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD
Run Code Online (Sandbox Code Playgroud)

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

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

slm*_*slm 8

TLDR 底线,它们一起使用时什么也不做;-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;
Run Code Online (Sandbox Code Playgroud)

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

一旦设置了该条件output_later_repeated,就没有可行的方法-dD来获得与 相同的输出-D

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

参考