You can also use parameter expansion with substring extraction as an alternative to `dirname/basename'; Here is a quick example reading all your directory names from a datafile:
#!/bin/bash
printf "\n The following directories were isolated:\n\n"
while read -r line || test -n "$line" ; do
pname="${line%/*}" # remove filename from line
lastd="${pname##*/}" # remove up to last '/'
printf " %-12s from %s\n" "$lastd" "$line"
done <"$1"
printf "\n"
exit 0
input:
$ cat dat/mp3dirs.txt
/mnt/media/Music1/DJ_Mixes_01-71/DJ aaa/01.mp3
/mnt/media/Music1/DJ_Mixes_01-71/DJ 02/01.mp3
/mnt/media/Music1/DJ_Mixes_01-71/DJ Chemist/01.mp3
output:
$ ./lastdir.sh dat/mp3dirs.txt
The following directories were isolated:
DJ aaa from /mnt/media/Music1/DJ_Mixes_01-71/DJ aaa/01.mp3
DJ 02 from /mnt/media/Music1/DJ_Mixes_01-71/DJ 02/01.mp3
DJ Chemist from /mnt/media/Music1/DJ_Mixes_01-71/DJ Chemist/01.mp3