#!/bin/ksh #begin # # odbclean removes all non-associated files from database directory # # odbclean [-f] : force to clean objects, .c, .h-files etc., but retain .sql # [-F] ; the same as -f # [-i] : ask before removing anything (the default) # [-c] : retain other files like .c, .h, .jpg, .rpt, .ddl_, .info etc. (by default: also removed) # [file(s)] # # Author: Sami Saarinen, ECMWF, 03-Jan-2006 : Initial version # #end #----------------------------------------------------------------------- set +xv set -eu cmd=$(\cd $(dirname $0); echo $(pwd))/$(basename $0) FLAGS=cfFi enforce=0 retain=0 abort=no while getopts ${FLAGS} i do case $i in c) retain=1;; f|F) enforce=1;; i) enforce=0;; *) abort=yes; break;; esac done if [[ $abort = yes ]] ; then awk '/#begin/,/#end/' $cmd | egrep -v '#(begin|end)' | sed 's/^#//' >&2 exit 1 fi shift $(expr $OPTIND - 1) if [[ $# -gt 0 ]] ; then files=$* else files="" fi if [[ $enforce -eq 1 ]] ; then alias rmfile='\rm -f' else alias rmfile='\rm -i' fi for f in $(ls -C1 *.o *.a *.so *.x *.lst fort.0 *~ core core.* */core */core.* $files 2>/dev/null || :) do rmfile $f 2>/dev/null /dev/null || :) do rmfile $f 2>/dev/null