Mianowicie kiedy chce użyć * aby basename przeleciał przez wszystkie nazwy otrzymuje komunikat:
Kod: Zaznacz cały
$ basename *
basename: nadmiarowy argument `nazwa piosenki ze spacjami.mp3'
Spróbuj `basename --help' dla uzyskania informacji.
Jak tu teraz to obejść tj. żeby za pomocą gwiazdki można było jednak wypisać wszystkie nazwy łącznie te ze spacjami.
Tak myślałem nad czymś w tym stylu: basename " * " ale oczywiście to nie ma prawa działac

EDIT:
Posiedziałem chwilkę i zrobiłem coś takiego dla wzoru:
01-pendulum-show_down.mp3
Kod: Zaznacz cały
#!/bin/bash
for file in *.mp3
do
songname=`basename "$file" .mp3 | awk '{print $3}' FS=- | tr _ ' '`
artist=`basename "$file" .mp3 | awk '{print $2}' FS=- | tr _ ' '`
id3ed -s "$songname" -a "$artist" "$file" -q
done