#!/bin/sh # # days_old # # Returns the number of days old for the specified file ($FILE), in a shell # variable called: DAYS_OLD # # Returns -1 if the specified file does not exist # # Note that this requires that this script be executed in the format of: # FILE=file.ext # . days_old # # <<<<<<<<<<<<<<< MODIFICATION HISTORY >>>>>>>>>>>>>>> # Date Programmer Description # -------- --------------- ----------------------------------------------- # 02/20/97 Brian Lomasky Original # ----------------------------------------------------------------------------- # # Brian Lomasky does not implicitly or # explicitly implies any program or information is usable in any way. # All programs and information are released to the public domain in # an "AS-IS" condition. # afil=$FILE if [ ! -r $afil ] then echo "days_old Error: $afil does not exist - Returning -1...\007" DAYS_OLD=-1; export DAYS_OLD else today=`date` DAYS_OLD=`ls -l $afil | awk ' BEGIN { dold = 0 m = substr("'"$today"'",5,3) d = substr("'"$today"'",9,2) y = substr("'"$today"'",25,4) } { if (m == "Feb") dold = dold + 31 if (m == "Mar") dold = dold + 59 if (m == "Apr") dold = dold + 90 if (m == "May") dold = dold + 120 if (m == "Jun") dold = dold + 151 if (m == "Jul") dold = dold + 181 if (m == "Aug") dold = dold + 212 if (m == "Sep") dold = dold + 243 if (m == "Oct") dold = dold + 273 if (m == "Nov") dold = dold + 304 if (m == "Dec") dold = dold + 334 if (int(y/4)*4 == y && dold > 31) dold = dold + 1 if ($6 == "Feb") dold = dold - 31 if ($6 == "Mar") dold = dold - 59 if ($6 == "Apr") dold = dold - 90 if ($6 == "May") dold = dold - 120 if ($6 == "Jun") dold = dold - 151 if ($6 == "Jul") dold = dold - 181 if ($6 == "Aug") dold = dold - 212 if ($6 == "Sep") dold = dold - 243 if ($6 == "Oct") dold = dold - 273 if ($6 == "Nov") dold = dold - 304 if ($6 == "Dec") dold = dold - 334 if (int($8/4)*$8 == $8 && ($6 == "Jan" || $6 == "Feb")) \ dold = dold + 1 dold = dold + d - $7 if (dold < 0) dold = dold + int((y - $8) * 365.25) print dold } '`; export DAYS_OLD fi