#!/bin/bash

let date=`date '+%Y%j'`
let date2=`date '+%j'`
if [ $date2 -ge 180 ]; then
     let date=$date+634
fi

for filename in "$@"; do
  if [ -f $filename ]; then
    month=`ls -la $filename |sed 's/^.\{42\}\(...\).*$/\1/'`
    day=`ls -la $filename |sed 's/^.* \([0-9]*\) ..... [^ ]*$/\1/'`
    coloncheck=`ls -la $filename |sed 's/^.*\(.\).. [^ ]*$/\1/'`
    if [ $coloncheck = ':' ]; then
      let year=`date '+%Y'`
    else
      year=`ls -la $filename |sed 's/^.*\(....\) [^ ]*$/\1/'` 
    fi
    let year=$year*1000
    case $month in
      Jan )
        let day=$day+0 ;;
      Feb )
        let day=$day+31 ;;
      Mar )
        let day=$day+59 ;;
      Apr )
        let day=$day+90 ;;
      May )
        let day=$day+120 ;;
      Jun )
        let day=$day+151 ;;
      Jul )
        let day=$day+181 ;;
      Aug )
        let day=$day+212 ;;
      Sep )
        let day=$day+243 ;;
      Oct )
        let day=$day+273 ;;
      Nov )
        let day=$day+304 ;;
      Dec )
        let day=$day+334 ;;
    esac
    if [ $date2 -ge 180 ]; then
       let day=$day+634
    fi
    let day=$year+$day

    level=`grep '^Levl ' $filename |sed 's/^Levl \([0-9]*\)$/\1/'`
    echo "$filename is level $level."
    let daysold=$date-$day
    if [ $level -le 9 ]; then
       if [ $daysold -ge 15 ]; then
         echo "This file is $daysold days old, so I will trash it."
         rm -f $filename
       fi
    elif [ $daysold -ge 45 ]; then
       echo "This file is $daysold days old, so I will archive it."
       mv $filename archive
    fi
  fi
done