cat -s kann Doppelte Leerzeilen unterdrücken, sind jedoch in den vermeintlich leeren Zeilen SPACE oder ^M etc. so funktioniert dies nicht mehr. Abhilfe schafft ein sed-Filter:
sed 's/^[SPACE TAB CTRL-v CTRL-m]*$//' dateiname | cat -s
Alternative - wenn cat -s nicht existiert
sed -e 's/^[SPACE TAB CTRL-v CTRL-m]*$//' -e '/./,/^$/!d' dateiname