
No Linux, como posso fazer uma substituição recursiva de arquivos e nomes de diretórios, preservando o caso existente?
Por exemplo, estou em um diretório que possui dois subdiretórios descendentes com os nomes:
lastname
Lastname
Quero poder substituí-los por "lastnamea" e "Lastnamea", respectivamente. Basicamente, quero modificá-los preservando o caso. O mesmo vale para arquivos.
Responder1
Este comando usará find para listar o caminho absoluto de cada arquivo no diretório e subdiretórios. Você pode usar ls apenas para fazer o diretório atual. Xargs executa comandos sobre o que é passado via stdin. -IX diz para substituir X pelo que foi passado via stdin. Se a sua versão do xargs não tiver -I, use --replace=X Espero que isso ajude!
encontrar . | xargs -IX mv X Xa