#!/bin/bash

if [[ $# -ne 2 ]]
then
        echo "Renames files based on two lists of names." >&2
	echo "Both arguments must be text files with one item per line." >&2
        echo "Usage: $0 old_names.txt new_names.txt" >&2 
        exit 1
fi

declare -a oldnames=( `cat $1` )
declare -a newnames=( `cat $2` )
declare -i index=0

if [[ ${#newnames[@]} -ne ${#oldnames[@]} ]] 
then 
	echo "Different number of entries in $1 and $2" >&2
	exit 1
fi

for (( index=0; index < ${#newnames[@]}; ++index )) 
do
	mv "${oldnames[index]}" "${newnames[index]}"
done

exit 0
