У меня есть несколько файлов домашнего видео в разных каталогах, в конце имени каталога которых указан год, чтобы указать год, когда видео было снято. Он также находится в конце имен файлов в этом каталоге и перед расширением. Я хочу поставить круглые скобки в течение года.
У некоторых файлов и каталогов также может быть год (или числа, которые выглядят как год) в имени файла в других позициях, но я просто хочу поставить скобки вокруг года в конце. Например вот один из каталогов:
Videos/Xmas 2004 - Time To Go 2004
содержит:
Xmas 2004 - Time To To 2004.mp4
Xmas 2004 - Time To Go 2004.txt
Xmas 2004 - Time To Go 2004.readme
Я хочу переименовать все мои медиафайлы, чтобы в итоге появилась система именования:
Videos/Xmas 2004 - Time To Go (2004)
содержит
Xmas 2004 - Time To To (2004).mp4
Xmas 2004 - Time To Go (2004).txt
Xmas 2004 - Time To Go (2004).readme
Как мне это сделать? Я могу использовать команду "find", чтобы получить файлы и каталоги:
find /home/user/Videos/ -iname "* [1-2][0-9][0-9][0-9]" # Find directories
find /home/user/Videos/ -iname "* [1-2][0-9][0-9][0-9].*" # Find files
Мне интересно, как я могу использовать "-exec {} \;" структура для использования команды rename или mv (или sed или awk), или я пишу сценарий bash для управления строкой имени файла и помещаю ее в "-exec {} \;"