#!/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