Чтобы переименовать один файл:
mv test.mp3 "rec-$(date -r test.mp3 '+%Y-%m-%d.mp3')"
Это использует отметку времени файла, чтобы переименовать его в rec-YYYY-MM-DD.mp3
. rec-
можно удалить, но IMO стоит того, потому что он предоставляет больше информации о том, что представляет собой файл , чем просто дату. Или используйте другой префикс, если хотите.
Чтобы переименовать все файлы.mp3 в каталоге, который еще не был переименован:
cd /path/to/directory
for f in *.mp3; do
if [[ ! "$f" =~ ^rec-[0-9]{4}-[0-9]{2}-[0-9]{2}\.mp3$ ]] ; then
mv "$f" "rec-$(date -r "$f" '+%Y-%m-%d.mp3')"
fi
done
Кстати, вам, вероятно, следует настроить программное обеспечение для записи на использование определенного и отличительного шаблона имени файла (, например. Test-nnnn.mp3
), чтобы избежать переименования других файлов.mp3. то есть for f in Test-*.mp3
намного более конкретен, чем for f in *.mp3
. Или просто заставьте его хранить записи в каталоге, который больше ни для чего не используется.