bash, как и чем переименовать группу файлов?
Подскажите код, переименовать группу файлов?
К примеру, сейчас так:
Princess of the Dawn - Accept.mp3
Cradle Of Love - Billy Idol.mp3
Sweet Sixteen - Billy Idol.mp3
Livin On A Prayer - Bon Jovi.mp3
Runaway - Bon Jovi.mp3
The Unforgiven - Metallica.mp3
Send Me An Angel - Scorpions.mp3
Still Loving - Scorpions.mp3
Хочу так:
Accept - Princess of the Dawn.mp3
Accept - Time Machine.mp3
Billy Idol - Cradle Of Love.mp3
Billy Idol - Sweet Sixteen.mp3
Bon Jovi - Livin On A Prayer.mp3
Bon Jovi - Runaway.mp3
Metallica - Nothing Else Matters.mp3
Metallica - The Unforgiven.mp3
Scorpions - Send Me An Angel.mp3
Scorpions - Still Loving.mp3
P.S чем лучше это делать: sed, awk, rename, basename?
Система macOS.
Ответы (1 шт):
Автор решения: Zt.
→ Ссылка
ls | awk -F'( - )|[.]' '{system("mv \""$0"\" \""$2" - "$1"."$3"\"")}'
здесь мы используем два разделителя полей, один " - " а второй точка "."
В названии трека данные разделители должны встречаться единожды, а иначе может пойти что-то не так.