Annotation of foxridge-archiver/changemany.sh, revision 1.2
1.1 casties 1: #!/bin/bash
2:
1.2 ! casties 3: VERSION="changemany V0.2 (11.12.2006 ROC)"
1.1 casties 4:
5: #set -x
6:
7: if [ -z "$1$2" ]
8: then
9: echo $VERSION
1.2 ! casties 10: echo "use: $0 dirlist [-debug] [-dry-run] [-long] [params...]"
1.1 casties 11: echo " Changes the document directories given in the file dirlist."
12: echo " The list has the full pathname first and then one column per parameter, separated with spaces."
1.2 ! casties 13: echo " -debug: is passed to changemeta script"
! 14: echo " -dry-run: only print out script calls"
! 15: echo " -long: pass only one parameter but its value can contain spaces"
1.1 casties 16: exit 1
17: fi
18:
19: DIRLIST="$1"
1.2 ! casties 20: if [ "$2" == "-debug" ]
! 21: then
! 22: shift
! 23: DEBUG="-debug"
! 24: fi
! 25: if [ "$2" == "-dry-run" ]
! 26: then
! 27: shift
! 28: DRY_RUN=1
! 29: fi
! 30: if [ "$2" == "-long" ]
! 31: then
! 32: shift
! 33: LONG=1
! 34: fi
1.1 casties 35: PARAM1="$2"
36: PARAM2="$3"
37: PARAM3="$4"
38:
39: if [ ! -f $DIRLIST ]
40: then
41: echo "ERROR: directory list file $DIRLIST not found!"
42: exit 1
43: fi
44:
45: CNT=0
46:
1.2 ! casties 47: if [ -z $LONG ]
! 48: then
! 49: # short options
! 50: # read directories and options from DIRLIST
! 51: while read DIR OPT1 OPT2 OPT3
! 52: do
! 53: CNT=$(( $CNT + 1 ))
! 54: if [ -d "$DIR" ]
! 55: then
! 56: echo "changing document $CNT: $DIR..."
! 57: if [ -n "$DRY_RUN" ]
! 58: then
! 59: echo "/usr/local/mpiwg/archive/changemeta ${PARAM1:+$PARAM1=$OPT1} ${PARAM2:+$PARAM2=$OPT2} ${PARAM3:+$PARAM3=$OPT3} $DEBUG $DIR"
! 60: echo " FAKED"
! 61: else
! 62: if /usr/local/mpiwg/archive/changemeta "${PARAM1:+$PARAM1=$OPT1}" "${PARAM2:+$PARAM2=$OPT2}" "${PARAM3:+$PARAM3=$OPT3}" "$DEBUG" "$DIR"
! 63: then
! 64: echo " OK"
! 65: else
! 66: echo "FAILED!"
! 67: # abort?
! 68: fi
! 69: fi
! 70: else
! 71: echo "$CNT ERROR: document directory $DIR not found!"
! 72: fi
! 73: done < $DIRLIST
! 74: else
! 75: # long option
! 76: # read directories and options from DIRLIST
! 77: while read DIR OPT
! 78: do
! 79: CNT=$(( $CNT + 1 ))
! 80: if [ -d "$DIR" ]
! 81: then
! 82: echo "changing document $CNT: $DIR..."
! 83: if [ -n "$DRY_RUN" ]
! 84: then
! 85: echo "/usr/local/mpiwg/archive/changemeta ${PARAM1:+$PARAM1=$OPT} $DEBUG $DIR"
! 86: echo " FAKED"
! 87: else
! 88: if /usr/local/mpiwg/archive_devel/changemeta.pl "${PARAM1:+$PARAM1=$OPT}" "$DEBUG" "$DIR"
! 89: then
! 90: echo " OK"
! 91: else
! 92: echo "FAILED!"
! 93: # abort?
! 94: fi
! 95: fi
! 96: else
! 97: echo "$CNT ERROR: document directory $DIR not found!"
! 98: fi
! 99: done < $DIRLIST
! 100: fi
1.1 casties 101:
102: if [ $CNT = 0 ]
103: then
104: echo "ERROR: the list file $DIRLIST seems to be empty!"
105: else
106: echo "Processed $CNT documents!"
107: fi
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>