cut columns in everyline

Is there a betterway to cut certain columns in everyline based on positions.

Basically, I have a largefile and eachline is of 1000 characters and I need to cut the characters 17-30, 750-775, 776-779, 780-805

while [ i -le $tempcnt ]
do
fptr=`cat $tempfile | head -$i | tail -1`
claimid=`echo $fptr | cut -c17-30`
memberid=`echo $fptr | cut -c750-775`
idtype=`echo $fptr | cut -c776-779`
orgid=`echo $fptr | cut -c780-805`
echo"$claimid | $memberid | $idtype | $orgid">>$misfile
i=`expr $i + 1`
done

Thank you

You can replace this useless use of (cat/head/tail/echo/cut):

..by one line in awk:

awk >> $misfile -v v=$i 'NR==i{print substr($0,17,14), substr($0,750,26), substr($0,776,4), substr($0,780,29)}' OFS=" | " 

Thanks!

this one also works

cut -c17-30,750-775,776-780,781-805 $tempfile > $misfile

This also work:
awk '{print substr($0,17,14), print substr($0,750,26),print substr($0,776,4), print substr($0,780,29)}' logfile

.. yes if you don't need OFS(Other Field Separator) in your output, and anyway you need another tool to get the line number.