Переименование файлов в каталоге на основе текста, содержащегося в текстовом файле
Я пытаюсь переименовать около 20 файлов в каталоге на основе того, что содержит текстовый файл. Я искал вокруг и не могу найти ничего, что действительно описывает процесс. Все оригинальные файлы выглядят так:
Track 1.wav
Track 2.wav
так далее...
Я хотел бы переименовать их в это, которое напечатано в текстовом файле, с именем, которое я хотел бы для файла строка за строкой.
We are Yours
Awake my Love
так далее..
У кого-нибудь есть идеи, как это сделать? Я делаю это совсем немного, но в итоге я делаю это вручную, и он только что состарился.
1 ответ
Решение
Как насчет
n=1
while IFS= read -r newname; do
printf -v oldname 'Track %d.wav' $((n++))
echo mv -vn "$oldname" "$newname"
done < "filenames.txt"
где filenames.txt это имя файла, в который вы ввели желаемые новые имена.
Если кажется, что все происходит правильно, удалите echo и запустите его снова, чтобы фактически переименовать файлы