#!/bin/awk -f # ssam 'x/[a-z]+-\n[ ]+[a-z]+\([0-9]\)/s/\n[ ]+//g' BEGIN { dashend = "" addnl = 0 } /[a-z]+-[ *]$/ { dashend = $0 print dbg1fmt next } dashend != "" { print dbg2fmt if($0 ~ /^[ ]+[a-z]+\([0-9]\)/) { print dbg3fmt printf "%s%s\n", dashend, $0 addnl++ dashend = "" } else { print dashend print $0 dashend = "" } next } # the effect of the following will probably be # lost when multiple blank lines are suppressed. addnl != 0 && $0 ~ /^[ ]*[A-Z]+\([0-9]\)[ ]+[A-Z]+\([0-9]\)[ ]*$/ { for(; addnl!=0; addnl--) print } { print $0 }