Thanks for all the tips! I think some of the issues are the fact I'm using cygwin and bash shell in combination with the backup commands, which are dos. Fun.
Anyway, from all the help I've come up with this:
./omnidb -session $session -media > ./tmp/session2.tmp
for line in `cat ./tmp/session2.tmp`
tape1=`cat ./tmp/session2.tmp | head -1 | cut -f1 -d" "`
id1=`cat ./tmp/session2.tmp | head -1 | cut -f2 -d" "`
echo "$tape1 $id1" >> ./tmp/$date.log
cat ./tmp/session2.tmp | sed '1d' > ./tmp/session3.tmp
cp ./tmp/session3.tmp ./tmp/session2.tmp
That works! I don't know why it doesn't work any other way, but if it ain't broke, don't fix it. Now, one last question that I've looked up around the net, but found no answers...
Is there a way, within this for loop, to let put each tape into it's own variable, then once the loop is done, be able to echo each tape out to a comma delimited file... How can you tell the echo command how many variables there are to echo?