Existe uma maneira de renomear todos os arquivos em um diretório para minúsculas | maiúsculas?
Estou procurando um comando oneliner .
Adorei o TotalCommander alt+f7
, agora preciso dessa funcionalidade no Terminal
command-line
rename
batch-rename
Unamata Sanatarai
fonte
fonte
mv
ver o que está sendo feito; que você pode não querer passar "-f" porque isso pode espancar os arquivos existentesExiste um utilitário mais elegante e geral chamado
prename
.Escrito por Larry Wall, ele vem com
perl
ele, provavelmente já está disponível no seu sistema, pois/usr/bin/prename
(se você tiver alternativas de instalação, também poderá estar disponível como/usr/bin/rename
link simbólico via / etc / alternative toprename
)Com ele, você pode renomear vários arquivos em um comando, fornecendo qualquer expressão perl (incluindo, sem limitação, substituição
s///
ou transliteração de chartr///
):Exemplos:
E assim por diante.
Outra coisa interessante sobre o nome do arquivo é que ele protege você, no caso de renomear um arquivo para um nome de arquivo existente.
man prename
para mais detalhes.fonte
Usando
find
Para
find
-name
colocar o seu padrão.-maxdepth 0
: Somente diretório atual.Para
rename
-n, -nono
: Nenhuma ação: imprima os nomes dos arquivos a serem renomeados, mas não renomeie.y/source/dest/
: Translitera os caracteres no espaço do padrão que aparecem na fonte para o caractere correspondente em dest.fonte