blob: b3bcc9245cfc94e8ae949667ca2918c755c52cc3 [file] [log] [blame]
Martin v. Löwis73e61872002-03-18 08:56:23 +00001#!/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
Georg Brandl2ee470f2008-07-16 12:55:28 +000012if [ x$2 = x ]; then
Martin v. Löwis73e61872002-03-18 08:56:23 +000013 echo "Need 2 args: original_version final_version."
14 exit 2
15fi
16
17if [ ! -d data -o ! -d data/RCS ]; then
18 echo "Run this inside the faqwiz data/ directory's parent dir."
19 exit 2
20fi
21
Georg Brandl2ee470f2008-07-16 12:55:28 +000022cut_n_pad() {
Martin v. Löwis73e61872002-03-18 08:56:23 +000023 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
27cut_n_pad $1 1 prefix1
28cut_n_pad $1 2 suffix1
29cut_n_pad $2 1 prefix2
30cut_n_pad $2 2 suffix2
Georg Brandl2ee470f2008-07-16 12:55:28 +000031if which tempfile >/dev/null; then
32 tmpfile=$(tempfile -d .)
33elif [ -n "$RANDOM" ]; then
34 tmpfile=tmp$RANDOM.tmp
35else
36 tmpfile=tmp$$.tmp
37fi
Martin v. Löwis73e61872002-03-18 08:56:23 +000038file1=faq$prefix1.$suffix1.htp
39file2=faq$prefix2.$suffix2.htp
40
41echo "Moving FAQ question $prefix1.$suffix1 to $prefix2.$suffix2"
42
43sed -e "s/$1\./$2\./g" data/$file1 > ${tmpfile}1
44sed -e "s/$1\./$2\./g" data/RCS/$file1,v > ${tmpfile}2
45
46if [ -f data/$file2 ]; then
47 echo "Target FAQ exists. Won't clobber."
48 exit 2
49fi
50
51mv ${tmpfile}1 data/$file2
52mv ${tmpfile}2 data/RCS/$file2,v
53mv data/$file1 data/$file1.orig
54mv data/RCS/$file1,v data/RCS/$file1,v.orig
55