On Thu, Jun 12, 2003 at 02:58:32PM -0400 I heard the voice of
Dave [Hawk-Systems], and lo! it spake thus:
> For example,
> <brutally pseudo script>
> for($i=30; $i>0;$1--){ # 30 days is maximum retained
>       for LOG in `ls /users/*/logs/ | grep .$i'`; do
>               # move any of the previous logs into the current existing
>               # so that we don't add to number of logs per user
>               $prevLOG = strreplace(($i-1)($i) on $LOG)
>               mv $prevLOG $LOG
>       done
> )
> </brutally pseudoscript>
> 
> Am thinking that the shell script will need to drop to awk to perform the
> disection of the log number extensions...  any thoughts on this/easier methods
> before I sit down and devote some time to it?

You want jot(1) and expr(1).

Something along the lines of:

for i in `jot 29 29 1`; do
    if [ -r /some/dir/log.${i} ] ; then
        mv -f /some/dir/log.${i} /some/dir/log.`expr "${i}" + 1`
    fi
done

(more simplistic than yours, since it doesn't recurse across directories,
but the idea gets across)


-- 
Matthew Fuller     (MF4839)   |  [EMAIL PROTECTED]
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/

"The only reason I'm burning my candle at both ends, is because I
      haven't figured out how to light the middle yet"
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to