|
1 #!/bin/sh |
|
2 # |
|
3 # Christian Reis <kiko@async.com.br> |
|
4 # |
|
5 # Moves |
|
6 # |
|
7 # Example: |
|
8 # |
|
9 # blackjesus:~> ./move-faqwiz.sh 2\.1 3\.2 |
|
10 # Moving FAQ question 02.001 to 03.002 |
|
11 |
|
12 if [ x$2 = x ]; then |
|
13 echo "Need 2 args: original_version final_version." |
|
14 exit 2 |
|
15 fi |
|
16 |
|
17 if [ ! -d data -o ! -d data/RCS ]; then |
|
18 echo "Run this inside the faqwiz data/ directory's parent dir." |
|
19 exit 2 |
|
20 fi |
|
21 |
|
22 cut_n_pad() { |
|
23 t=`echo $1 | cut -d. -f $2` |
|
24 export $3=`echo $t | awk "{ tmp = \\$0; l = length(tmp); for (i = 0; i < $2-l+1; i++) { tmp = "0".tmp } print tmp }"` |
|
25 } |
|
26 |
|
27 cut_n_pad $1 1 prefix1 |
|
28 cut_n_pad $1 2 suffix1 |
|
29 cut_n_pad $2 1 prefix2 |
|
30 cut_n_pad $2 2 suffix2 |
|
31 if which tempfile >/dev/null; then |
|
32 tmpfile=$(tempfile -d .) |
|
33 elif [ -n "$RANDOM" ]; then |
|
34 tmpfile=tmp$RANDOM.tmp |
|
35 else |
|
36 tmpfile=tmp$$.tmp |
|
37 fi |
|
38 file1=faq$prefix1.$suffix1.htp |
|
39 file2=faq$prefix2.$suffix2.htp |
|
40 |
|
41 echo "Moving FAQ question $prefix1.$suffix1 to $prefix2.$suffix2" |
|
42 |
|
43 sed -e "s/$1\./$2\./g" data/$file1 > ${tmpfile}1 |
|
44 sed -e "s/$1\./$2\./g" data/RCS/$file1,v > ${tmpfile}2 |
|
45 |
|
46 if [ -f data/$file2 ]; then |
|
47 echo "Target FAQ exists. Won't clobber." |
|
48 exit 2 |
|
49 fi |
|
50 |
|
51 mv ${tmpfile}1 data/$file2 |
|
52 mv ${tmpfile}2 data/RCS/$file2,v |
|
53 mv data/$file1 data/$file1.orig |
|
54 mv data/RCS/$file1,v data/RCS/$file1,v.orig |
|
55 |