#!/usr/bin/env bash if (( $# < 2 )); then echo "USAGE: $0 DIGITS FILES" return 1 fi digits="$1" shift 1 i=1 for file in $@; do mv -n "$file" "$(dirname $file)/$(printf %0${digits}d $i).${file##*.}" i="$((i+1))" done