#!/bin/bash # Read track list from stdin. Get file names as parameters. for i in "$@"; do read name if test ! "$name"; then echo No name given for \""$i"\".; exit 1; fi name="$(echo "$name" | sed 's|.*/||; s/^\s\+//; s/\s\+$//; s/\....$//')" mv -v -i -- "$i" "`echo "$name.${i#*.}" | sed 's| \?/ \?|, |'`" done