annotate changemany.sh @ 60:5bee75ca9eb3 default tip

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