Help Needed in SED

Hi All ,

I have a input file which has set of lines like this ::

cat a.txt

unix1 djkdfkjdkkdfkdjfdfkjd 09191091 unix@unix.com <2008-23-07>
unix 2 dfdfdfdfdfdfdfdfdfd

unix3 dfldfljdflkjdfldfkljdfldjfl 0565606 unix1@unix.com <2008-10-09>
unix4 dfdlfndfldflnlffddfd

for some reason when i execute the SED command to bring it to single line , the code works partially

sed '=' a.txt | \
sed '{
N
s/\n/ /
}' a.txt > b.txt

the output is like this ::

unix1 djkdfkjdkkdfkdjfdfkjd 09191091 unix@unix.com <2008-23-07> unix 2 dfdfdf
dfdfdfdfdfdfd
unix3 dfldfljdflkjdfldfkljdfldjfl 0565606 unix1@unix.com <2008-10-09>
~

can you help me how to bring all those lines into single lines my output should be something like this :::

unix1 and unix2 shoule be in a single line
unix1 djkdfkjdkkdfkdjfdfkjd 09191091 unix@unix.com <2008-23-07> unix 2 dfdfdfdfdfdfdfdfdfd

and unix3 and unix4 should be in single line :::

unix3 dfldfljdflkjdfldfkljdfldjfl 0565606 unix1@unix.com <2008-10-09> unix4 dfdlfndfldflnlffddfd

If you don't have blanc line between the 2 lines this should work:

sed '{N; s/\n/ /}' a.txt > b.txt

Regards

awk '/^$/ { print ""; next }
          { printf "%s ", $0 }
      END { print "" }' a.txt > b.txt

Thanks All for your Help!! Works perfectly!!

cat filename | paste - -