Next: uniq -u, Previous: uniq, Up: Examples   [Contents][Index]


7.18 Print Duplicated Lines of Input

This script prints only duplicated lines, like ‘uniq -d’.

#!/usr/bin/sed -nf
$b
N
/^\(.*\)\n\1$/ {
    # Print the first of the duplicated lines
    s/.*\n//
    p

    # Loop until we get a different line
    :b
    $b
    N
    /^\(.*\)\n\1$/ {
        s/.*\n//
        bb
    }
}

# The last line cannot be followed by duplicates
$b

# Found a different one.  Leave it alone in the pattern space
# and go back to the top, hunting its duplicates
D