#! /bin/ksh # Guillaume Dargaud 2001/11/14 # History: 2002/03/12 added Direct Variables. # Note: you need JulianDate.exe and TimeJump.exe in your Path ######## Usage info ########## if [ $# -le 2 ]; then echo 1>&2 "Usage: $0 StartTime EndTime 'Commands'" echo 1>&2 "Loop a time/date between two dates and executes the command on each" echo 1>&2 "Times are specified using YY[MM[DD[HH[NN[SS]]]]], EndTime is excluded" echo 1>&2 'Use $Time to get the time in the Command or the following:' echo 1>&2 '$YY, $MM, $DD, $HH, $NN, $SS for separated time elements.' echo 1>&2 '$DDD for Julian day' echo 1>&2 '$YY[MM[DD[HH[NN[SS]]]]] for compound date/times.' echo 1>&2 "Example: $0 010201 010301 'mv File_\$YY\$DDD File_\$YYMMDD'" exit 127 fi ################################################################################ PATH=$PATH:/Users/dargaud/bin:/usr/local/bin:$DirExe; export PATH Time=$1 Stop=$2 shift 2 while [ $Time != $Stop ] do typeset -L12 YYMMDDHHMMSS=$Time"0000000000" typeset -L10 YYMMDDHHMM=$YYMMDDHHMMSS typeset -L8 YYMMDDHH=$YYMMDDHHMMSS typeset -L6 YYMMDD=$YYMMDDHHMMSS typeset -L4 YYMM=$YYMMDDHHMMSS typeset -L2 YY=$Time typeset -R2 MM=$YYMM typeset -R2 DD=$YYMMDD typeset -R2 HH=$YYMMDDHH typeset -R2 NN=$YYMMDDHHMM typeset -R2 SS=$YYMMDDHHMMSS typeset -R3 DDD=`JulianDate.exe $YY$MM$DD` eval `echo $@` Time=`TimeJump.exe $Time +1` done