Se você deseja aplicar a renomeação recursivamente a todos os arquivos na hierarquia de diretórios em seu diretório de trabalho atual, é possível usar o recurso globstar
do Bash. Você precisa ativar isso primeiro. Digite o seguinte:
shopt -s globstar
rename "s/\[|\]/_/g" **
Em outras palavras, para ativar o recurso globstar
, você pode executar o comando com duas estrelas ( **
) em vez de apenas uma ( *
). Isso corresponderá a todos os arquivos na hierarquia de diretórios no diretório de trabalho atual, ou seja, independentemente de quão profundamente eles estão aninhados no diretório de trabalho atual.
Se você quiser renomear todos os arquivos no diretório de trabalho atual sem o risco de renomear nomes de diretórios correspondentes, use find
:
find . -type f -execdir rename -- 's/\[|\]/_/g' {} +
Isso corresponderá a todos os arquivos contendo os caracteres [
ou ]
em qualquer lugar na estrutura de diretórios em seu diretório de trabalho atual e executará sua rotina de renomeação nos subdiretórios que contiverem arquivos correspondentes. / p>