#!/bin/bash # $HeadURL$ $LastChangedRevision$ # Modules . $(miniade) || { echo "${0##*/}: ERROR: miniade failed (hint: run 'miniade' to see error)" >&2; exit 1; } # Configurable stuff # Other globals main() { local MY_ARGS # Defaults for options # Process options miniade_process_options --help-handler=help MY_ARGS "$@" && set -- "${MY_ARGS[@]}" # Process arguments [ $# = 3 ] || miniade_bad_usage SRC=$1 DST=$2 type encode > /dev/null 2>&1 || miniade_internal "encode: command not found (hint: is PATH set correctly?)" ENCODE_OUTPUT=$(encode --decode "$3") || miniade_internal "encode: failed (hint: see messages above)" eval set -- "$ENCODE_OUTPUT" FOO=bar/bar [ $# -ge 1 ] || miniade_bad_usage # Sanity checks and derivations # Guts eval "sed -e 1d $(for ASSIGNMENT in "$@"; do PLACEHOLDER=${ASSIGNMENT%%=*}; VALUE=${ASSIGNMENT#*=}; echo -n "-e 's/$PLACEHOLDER/${VALUE//\//\\\/}/g' "; done)" < $SRC > $DST } help() { local PROGNAME miniade_get_progname PROGNAME echo "Usage: $PROGNAME [ ]