| #!/bin/sh | |
| # | |
| # Christian Reis <kiko@async.com.br> | |
| # | |
| # Moves | |
| # | |
| # Example: | |
| # | |
| # blackjesus:~> ./move-faqwiz.sh 2\.1 3\.2 | |
| # Moving FAQ question 02.001 to 03.002 | |
| if [ x$2 = x ]; then | |
| echo "Need 2 args: original_version final_version." | |
| exit 2 | |
| fi | |
| if [ ! -d data -o ! -d data/RCS ]; then | |
| echo "Run this inside the faqwiz data/ directory's parent dir." | |
| exit 2 | |
| fi | |
| cut_n_pad() { | |
| t=`echo $1 | cut -d. -f $2` | |
| export $3=`echo $t | awk "{ tmp = \\$0; l = length(tmp); for (i = 0; i < $2-l+1; i++) { tmp = "0".tmp } print tmp }"` | |
| } | |
| cut_n_pad $1 1 prefix1 | |
| cut_n_pad $1 2 suffix1 | |
| cut_n_pad $2 1 prefix2 | |
| cut_n_pad $2 2 suffix2 | |
| if which tempfile >/dev/null; then | |
| tmpfile=$(tempfile -d .) | |
| elif [ -n "$RANDOM" ]; then | |
| tmpfile=tmp$RANDOM.tmp | |
| else | |
| tmpfile=tmp$$.tmp | |
| fi | |
| file1=faq$prefix1.$suffix1.htp | |
| file2=faq$prefix2.$suffix2.htp | |
| echo "Moving FAQ question $prefix1.$suffix1 to $prefix2.$suffix2" | |
| sed -e "s/$1\./$2\./g" data/$file1 > ${tmpfile}1 | |
| sed -e "s/$1\./$2\./g" data/RCS/$file1,v > ${tmpfile}2 | |
| if [ -f data/$file2 ]; then | |
| echo "Target FAQ exists. Won't clobber." | |
| exit 2 | |
| fi | |
| mv ${tmpfile}1 data/$file2 | |
| mv ${tmpfile}2 data/RCS/$file2,v | |
| mv data/$file1 data/$file1.orig | |
| mv data/RCS/$file1,v data/RCS/$file1,v.orig | |