#!/bin/sh - # # Oliver Fromme # # BSD-style copyright and standard disclaimer applies. # usage() { echo "Usage: `basename $0` " >&2 echo " is the first number." >&2 echo " should contain a single printf-style % sequence" >&2 echo " which is used to format the numbers." >&2 exit 1 } if [ $# -lt 3 -o `expr "x$1" : "x-"` -gt 0 ]; then usage fi case "$1" in ""|*[!0-9]*) usage ;; esac case "$2" in *%?*) ;; *) usage ;; esac case `uname -s` in FreeBSD|Linux) INCREMENT='I=$(( $I + 1 ))' ;; *) INCREMENT='I=`expr 1 + "$I"`' ;; esac I="$1" FMT="$2" shift 2 for FILE in "$@"; do mv "$FILE" "$FILE".renumber.tmp done for FILE in "$@"; do NEW=`printf "$FMT" "$I"` printf '%s\t--> %s\n' "$FILE" "$NEW" >&2 mv "$FILE".renumber.tmp "$NEW" eval "$INCREMENT" done #--