bash scripting: как изменить положение исполнителя и названия песни в имени файла

#bash #file-rename

#bash #файл-переименовать

Вопрос:

У меня есть следующий файл:

 Song - Arist.mp3
  

я хочу знать, как изменить это на:

 Arist - Song.mp3
  

использование команд bash scripting.

Спасибо!

Ответ №1:

 rename 's/([^-] ) - (.*).mp3/$2 - $1.mp3/' *mp3
  

переименование является частью perl (gprename).

Ответ №2:

 #!/bin/bash                                                                                                                                                  

trim() { echo $1; }

for i in *.mp3; do
    ARTIST=${i#*-}
    ARTISTNAME=${ARTIST%%.mp3}
    SONG=${i%-*}
    SONGTRIMMED=$(trim $SONG)
    NEW="$ARTISTNAME - $SONGTRIMMED.mp3"
    mv "$i" "$NEW"
done