in reply to Re: removing non-duplicates
in thread removing non-duplicates

That gives you one copy of each distinct line. The OP wanted only the lines that appear exactly once. It could be done with uniq -c and grep and cut, but it gets to the point that you just want to do it in Perl. Gar. Should have double-checked that -u option. Good answer.

Caution: Contents may have been coded under pressure.

Replies are listed 'Best First'.
Re^3: removing non-duplicates
by davidrw (Prior) on Jul 11, 2005 at 22:35 UTC
    heh. score one more for the *nix cmdline utils :)

    Just for sake of argument/exercise, even if there was only -c i would still do it on the cmdline (also, these are handy if you want lines that show up N times since -u only helps if N==1):
    # using perl: uniq -c /tmp/d | perl -ne '($n,$s)=split(/\t/,$_,2); print $s if $n == + 1' # using grep/cut (make sure that's a real tab after the 1 in the grep) uniq -c /tmp/d | egrep '^ *1 ' | cut -d\t -f2