Coreutils

-dDuniq 意味著什麼?

  • July 23, 2018

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

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

可以在目前目錄下找到重複文件。

是什麼-dD意思uniq?我在手冊頁中看到了-dand的含義-D,但不確定它們一起使用時的含義。謝謝。

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;

-dD如果設置了此程式碼的結構方式,則將其ouput_unique設置為 false;但更重要的output_later_repeated是,設置為true。

一旦設置了該條件output_later_repeated-dD除了與-D.

順便說一句,computerhope 手冊頁有一個更好的表格來解釋-d-D開關。

參考

引用自:https://unix.stackexchange.com/questions/457868