Что значит `-dD` для `uniq`?

Эти другие парни просто усложняют жизнь, вот оно:

eval {mkdir,cd}\ FOLDER\;
1
23.07.2018, 08:01
2 ответа

TLDRСуть в том, что при совместном использовании они ничего не делают; -dDидентично -D.

Исследования

Если вы посмотрите на логику регистра/переключения команды uniq.c, вы увидите это из первых рук:

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.

Ссылки

8
27.01.2020, 23:11

uniq -dDне имеет смысла -это эквивалент uniq -D. И -dD, и -Dвсегда будут давать один и тот же результат, поскольку выходной набор -dявляется подмножеством -D.

4
27.01.2020, 23:11

Теги

Похожие вопросы