uniq options

Hi
I am currently using uniq -u and uniq -d option in my program to get uniq and duplicate lines from file.

What i doing is
uniq -c file1>file_u
uniq -d file1>file_d
cat file_u file_d > file_fiinal

Since i am procesing a larger files the I/O operations is costly affair.
Hence I would like to know if there is any other option in uniq so that i can
directly use both the options.

Regards
dhana