Digamos que você tenha um diretório com centenas de arquivos com nomes de arquivo errados e queira substituir todos os nomes de arquivo que contenham teste com prod. (este é um exemplo inventado). Podemos facilmente fazer isso com o comando “for” no bash, combinado com um pouco de bondade. Hoje aprenderemos a substituir o texto em uma variável em um loop for.
O comando "for" funciona assim:
for var in ;do $var;done
Você pode substituir
É aqui que o manuseio da variável bash torna ainda mais interessante. Em vez de apenas fazer algo como “mv $ var”, podemos substituir o texto no nome do arquivo usando esta sintaxe:
${var/originaltext/replacetext}
Então, agora, se nós executarmos este comando em nosso diretório:
for f in *;do mv $f ${f/test/prod};done
Para cada arquivo correspondido por *, o bash executará um comando semelhante a este:
mv test.config prod.config
Descobri que o conhecimento do shell é inestimável ao administrar servidores ou apenas para gerenciar sua coleção de arquivos e economizou horas do que, de outra forma, teria sido o trabalho manual.
E sim, percebo que há várias ferramentas que podem realizar renomeação de vários arquivos.