Вы можете также использовать расширение параметра с подстроки экстракции в качестве альтернативы `Dirname/'базовому; Вот краткий пример читает все ваши имена каталогов из файла данных:
#!/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
вход:
$ 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
выход:
$ ./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
[См] (http://stackoverflow.com/questions/23162299/how- to-get-the-last-part-of-of-dirname-in-bash) – Basilevs
awesome thanks Basilevs, именно то, что я искал – chemist