FILE_IN=${1:-oc200305.htm} FILE_OUT=$(echo $FILE_IN | cut -c1-8)d.htm FILE_TMP1=$(echo $FILE_IN | cut -c1-8)t1.htm FILE_TMP2=$(echo $FILE_IN | cut -c1-8)t2.htm head -10 $FILE_IN > $FILE_OUT tail -$(( $(cat $FILE_IN | wc -l) - 10 )) $FILE_IN > $FILE_TMP1 head -$(( $(cat $FILE_TMP1 | wc -l) - 1 )) $FILE_TMP1 > $FILE_TMP2 rm -f $FILE_TMP1 while true do read line [ $? -ne 0 ] && break diz=$(echo "$line" | cut -c4-4) [ "$diz" = " " ] && \ line=$(echo "$line" | cut -c1-3)0$(echo "$line" | cut -c5-) echo "$line" >> $FILE_TMP1 done < $FILE_TMP2 sort -k2,4 $FILE_TMP1 >> $FILE_OUT tail -1 $FILE_IN >> $FILE_OUT rm -f $FILE_TMP1 $FILE_TMP2