#!/bin/bash # Created by Ben Okopnik on Wed Sep 27 10:36:36 EDT 2006 [ -z "$1" ] && { printf "Usage: ${0##*/} [-rename] \n"; exit; } ext="wav" [ "$1" = "-rename" ] && { rename=yes shift } # Ignore spaces in filenames IFS=' ' list=(`ls -1 *$ext`) names=(`cat "$1"`) [ ${#names[*]} -ne ${#list[*]} ] && { echo 'The number of track names and music files is different!' exit } count=0 while [ "$count" -ne "${#names[*]}" ] do if [ -n "$rename" ] then mv "${list[$count]}" "${names[$count]}.$ext" else echo "\"${list[$count]}\" will be \"${names[$count]}.$ext\"" fi ((count++)) done