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