Home | History | Annotate | Download | only in faqwiz
      1 #!/bin/sh
      2 #
      3 # Christian Reis <kiko (at] 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 
     56