Eu tenho vários arquivos de vídeo em casa em diretórios diferentes que têm um ano no final do nome do diretório para indicar o ano em que o vídeo foi filmado. Também está no final dos nomes de arquivos nesse diretório e antes da extensão. Eu quero colocar parênteses por volta do ano.
Alguns arquivos e diretórios também podem ter um ano (ou números que parecem um ano) no nome do arquivo em outras posições, mas eu só quero colocar parênteses por volta do ano no final. Por exemplo, aqui está um dos diretórios:
Videos/Xmas 2004 - Time To Go 2004
contém:
Xmas 2004 - Time To To 2004.mp4
Xmas 2004 - Time To Go 2004.txt
Xmas 2004 - Time To Go 2004.readme
Eu quero renomear em massa todos os meus arquivos de mídia para terminar com este sistema de nomes:
Videos/Xmas 2004 - Time To Go (2004)
contém
Xmas 2004 - Time To To (2004).mp4
Xmas 2004 - Time To Go (2004).txt
Xmas 2004 - Time To Go (2004).readme
Como faço isso? Eu posso usar o comando "find" para obter os arquivos e diretórios:
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
Eu estou querendo saber como eu posso usar o "-exec {} \". estrutura para usar o comando rename ou mv (ou sed ou awk) ou eu escrevo um script bash para manipular a string filename e colocar isso no "-exec {} \;"