-#include "busybox.h"
-#include <string.h>
-#include <ctype.h>
-#include <unistd.h>
-
-static const char uniq_opts[] = "f:s:" "cdu\0\1\2\4";
-
-static FILE *xgetoptfile_uniq_s(char **argv, int read0write2)
+//usage:#define uniq_trivial_usage
+//usage: "[-cdu][-f,s,w N] [INPUT [OUTPUT]]"
+//usage:#define uniq_full_usage "\n\n"
+//usage: "Discard duplicate lines\n"
+//usage: "\n -c Prefix lines by the number of occurrences"
+//usage: "\n -d Only print duplicate lines"
+//usage: "\n -u Only print unique lines"
+//usage: "\n -f N Skip first N fields"
+//usage: "\n -s N Skip first N chars (after any skipped fields)"
+//usage: "\n -w N Compare N characters in line"
+//usage:
+//usage:#define uniq_example_usage
+//usage: "$ echo -e \"a\\na\\nb\\nc\\nc\\na\" | sort | uniq\n"
+//usage: "a\n"
+//usage: "b\n"
+//usage: "c\n"
+
+#include "libbb.h"
+
+int uniq_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int uniq_main(int argc UNUSED_PARAM, char **argv)