#! /bin/sh
######################################
##### Model Transformation Tools #####
######################################
# Bourne shell script: mtt_find
# mtt_find path name operation
# P.J.Gawthrop Nov 1996
# Copyright (c) P.J.Gawthrop 1996
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.4 1998/07/16 20:40:24 peterg
## Cleaned up algorithms
##
## Revision 1.3 1998/07/16 09:15:34 peterg
## Now prints:
## dir
## name_lbl.txt
## access time
##
## Revision 1.2 1997/09/04 09:15:19 peterg
## Includes summary line as well as description lines
##
## Revision 1.1 1996/11/10 10:48:45 peterg
## Initial revision
##
###############################################################
# Set up dummy file
rm -f mtt_junk
touch mtt_junk
# Interpret the arguments
path="$1"
if [ -n "$2" ]; then
name=`basename $2`
longname=$2
Name="-name $name"
fi
# Find all dirs in path with same name as component
# AND the path contains the full (name+library) name
paths=`echo $path | tr ":" " "`
foundpath=`\
for thepath in $paths; do
find $thepath -type d $Name -print
done |\
sort -u |\
grep "$longname"`
# If non-null result, check that the name_lbl.txt file exists in dir name
# and print dirname and file name and last access time
if [ -n "$foundpath" ]; then
for thepath in $foundpath ; do
dirname=`echo $thepath | awk -F/ '{print $NF}'`
fullname="$dirname"_lbl.txt
find $thepath -maxdepth 1 -name $fullname -printf '%h\t%f\t%Ac\n';
done |\
tee mtt_junk
fi
# Check exit status and return
hits=`wc mtt_junk | awk '{print $1}'`
rm -f mtt_junk
if [ $hits = "1" ]; then
exit 0
elif [ $hits = "0" ]; then
exit 1
elif [ $hits > "1" ]; then
exit 2
else
exit 3
fi