YASS (yet another shell script)

John Daley aims at ssc-vax.UUCP
Tue Mar 11 06:34:32 AEST 1986


This is a 'simple' little shell script I whipped up, out of need, to
print a specific line of a specific file.  Yes, I chose to use the B
shell, but it gets the job done, right?.

Why am I posting such a meager little script?  This newsgroup hasn't
been very active lately (excluding discussions).  Anybody out there
got a better way to do what my script does?

Any tips on error-trapping?  Any good scripts out there?  Hello?

--- CUT HERE --- CUT HERE --- CUT HERE --- CUT HERE --- CUT HERE ---

#!/bin/sh
# 
#         Script: /usr/local/line
# 
#         Author: Ray E. Saddler III
#                 Ballistic Systems Division
#                 Computer Aided Design Support and Administration
#                 Boeing Aerospace Company Scientific Systems
# 
#        Created: 86-03-10 Ray
# 
#       Enhanced: YY-MM-DD XYZ
# 
#        Purpose: Print a specified line of a specified file.
# 
#########1#########2#########3#########4#########5#########6#########7#########8
# 
# Print opening messages - syntax check
# 
       while test $# -ne 2
         do
           case $1 in
             *)
               echo "Usage: line [line number] [file name]"
               exit 0
             continue
           esac
         continue
       done
# 
# If file ($2) does not exist - ABORT
# 
       if test -f $2
         then
           continue
         else
           echo "File: $2 not found"
           exit 0
         continue
       fi
# 
#  Delete scratch file: /tmp/LINE_COUNT if it exists
# 
       if test -f /tmp/LINE_COUNT
         then
           rm /tmp/LINE_COUNT
         else
           continue
         continue
       fi
# 
# Count how many lines exist in file ($2) - record in /tmp/LINE_COUNT
# 
       WORD_COUNT=`wc -l $2`
       for DATA in `echo $WORD_COUNT`
         do
           echo $DATA>>/tmp/LINE_COUNT
         continue
       done
# 
# Set LINE_COUNT buffer to the value of line #1 in file: /tmp/LINE_COUNT
# 
       LINE_COUNT=`head -1 /tmp/LINE_COUNT`
# 
# If the value of $1 exceeds the line count of $2 - ABORT
# 
       if [ $1 -gt $LINE_COUNT ]
         then
           echo "Unable to print line $1, $2 has only $LINE_COUNT lines."
           exit 0
         else
           continue
         continue
       fi
# 
# All systems go - find line $1 in file $2
#
       head -$1 $2 | tail -1
# 
# End of executable code
# 
#########1#########2#########3#########4#########5#########6#########7#########8


--- CUT HERE --- CUT HERE --- CUT HERE --- CUT HERE --- CUT HERE --- CUT HERE --

(BTW - excluding error traps & comments this could be reduced to:

 head -$1 $2 | tail -1)

P.S.

Anybody out there gotta public domain program that graphically (sp?) displays
the status of a disk (i.e. available/used blocks/sectors etc?)

-- 

################################################################################
#  Ray E. Saddler III @ Boeing Aerospace Company - Ballistic Systems Division  #
#  Tech. Applications  CAD Support and Administration - BAC Scientfic Systems  #
#  Seattle, Washington (vacation spot of the stars) USA, Earth, lost in space  #
################################################################################

Disclaimer: The  Boeing  Company shall not be held responsible for damage caused
            by fire, in the event I should spontaneously (sp?) combust.  G'-day.

Quote: "" - unknown



More information about the Comp.sources.unix mailing list