#!/bin/sh 
# Usage : part filename Starting line number Ending Line Number
# DETECT ERRORS
if [ $# -eq 3 ]
then
 if [ -f $1 ]
 then
  errcode=0
  nooflinesinfile=`wc -l $1 | awk '{print $1}'`
 else
  errcode=1
  nooflinesinfile=0
 fi
 if [ $2 -gt $3 ]
 then
  errcode=2
 fi
 if [ $2 -gt $nooflinesinfile -o $3 -gt $nooflinesinfile ]
 then
  errcode=3
 fi
 if [ $# -ne 3 ]
 then
  errcode=4
 fi
 
 case $errcode in
  0)
   nooflines=`expr $3 - $2 + 1 `
   cat $1 | tail +$2 | head -$nooflines
  ;;
  
  1) 
   echo "Usage : part filename Starting line number Ending Line Number"
   echo "File does nto exist"
  ;; 
  2) 
   echo "Usage : part filename Starting line number Ending Line Number"
   echo "Starting line number cannot be smaller than Ending number"
  ;;
  3)
   echo "Usage : part filename Starting line number Ending Line Number"
   echo "Not that many lines in file"
  ;;
  4)
   echo "Usage : part filename Starting line number Ending Line Number"
   echo "Invalid Number of parameters"
   echo "Usage : part filename Starting line number Ending Line Number "
  ;;
 esac
else
 echo "Invalid number of parameters"
 echo "Usage : part filename Starting line number Ending Line Number "
fi