Como alterar extensões de arquivo de arquivos via linha de comando no Mac OS
Índice:
Os usuários da linha de comando podem achar útil alterar e renomear a extensão de arquivo de um grupo de arquivos em um diretório. Por exemplo, digamos que você tenha um lote de arquivos com a extensão de arquivo “.txt”, mas deseja que todas as extensões de arquivo sejam “.py”. Isso é o que vamos demonstrar aqui contando com um simples script bash para alterar um grupo de extensões de arquivo na linha de comando do Mac OS / OS X, mas isso também funcionará no Linux e em outros tipos de unix.
Antes de começar, perceba que isso não está alterando um tipo de arquivo, está apenas alterando a extensão do arquivo. Além disso, essa abordagem passo a passo usa intencionalmente a linha de comando e, portanto, é destinada a usuários mais avançados. No entanto, o Terminal não é a única maneira de fazer isso e, portanto, se isso for muito avançado ou irrelevante para o conjunto de habilidades do usuário, lembre-se de que o Mac OS oferece ferramentas simples para renomear arquivos em lote no Mac OS e alterar extensões de arquivo em lote no Finder também, nenhum dos quais requer a linha de comando. OK? Tudo bem para a abordagem de linha de comando usando um script bash simples de uma linha.
A propósito, você sempre deve fazer uma cópia e/ou backup dos arquivos que está modificando, principalmente se você for novo na linha de comando. Não fazer isso pode resultar em perda de dados, o Terminal é implacável com erros de digitação ou erros, portanto, não pule seus backups.
Como alterar todas as extensões de arquivo em um diretório por meio da linha de comando
Vamos dar alguns exemplos. No primeiro exemplo, vamos alterar todos os arquivos no diretório de trabalho atual com a extensão “.txt” e alterá-los para “.py”. Supondo que você esteja no diretório onde deseja alterar todos os arquivos no diretório atual para uma nova extensão de arquivo, aqui está a sintaxe a ser usada:
para arquivo em .txt; do mv $file>"
Observe que isso usa o caractere curinga , o que significa que tudo e qualquer coisa no diretório atual correspondente à extensão de arquivo “.txt” será alterada. Observe também as várias instâncias de “txt” e a única instância de “py” que você deseja alterar para atender às suas necessidades.
Tudo isso está fazendo é criar um loop simples onde os arquivos correspondentes ao curinga e à extensão de arquivo inicial são encontrados e, em seguida, executar o comando “mv” para mover (renomear) esses arquivos da extensão de arquivo inicial para a substituição. Bem simples, certo?
Vamos dar outro exemplo, digamos que temos uma coleção de arquivos de imagem no diretório atual com nomes de arquivo como “blahblah.jpg.JPEG”, mas realmente queremos que todos tenham o mesmo nome de arquivo do menos redundante e mais fácil de ler “blazblah.jpeg”. Nesse caso, a sintaxe ficaria assim:
"para arquivo em .jpg.JPEG; do mv $arquivo ${arquivo%.jpg.JPEG}.jpeg; feito"
A abordagem de linha de comando para alterar as extensões de arquivo é bastante rápida e as extensões de arquivo serão alteradas rapidamente, sem diálogos de aviso ou confirmações.
E para reiterar mais uma vez, isso não é para converter nenhum tipo de arquivo ou alterar nada além do nome da extensão do arquivo.
Conhece uma maneira melhor de alterar várias extensões de arquivos em um diretório por meio da linha de comando? Quer apenas navegar por outras ótimas dicas de linha de comando (acesse aqui)? Deixe-nos saber seus pensamentos nos comentários!