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