in reply to Re: Remove Duplicate Lines
in thread Remove Duplicate Lines

Let's see:

This is highly inefficient and has several issues with "interesting" filenames.

In Re: Remove Duplicate Lines, BrowserUk explains how to use perl properly.

Another option - if running on a POSIX compatible system - is to use sort properly. Without headers, it is trivial:

sort -u < inputfile > outputfile

With headers, this will do:

head -n 1 inputfile > outputfile sed '1d' inputfile | sort -u >> outputfile

This way, head can stop processing the input file after the first line, unlike sed -n '1p'. Directly writing to the outputfile avoids all further overhead of your script.

Alexander


(1) yes, given a sane filename, perl may start the first sed without help of the default shell. Change the filename to something interesting and perl will start sed via the default shell.

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)