mesclar duas pastas de imagens

5

Eu tenho duas pastas de imagens na minha área de trabalho com cerca de 600 imagens cada. Ambas as pastas têm algumas imagens duplicadas e algumas imagens com o mesmo nome de arquivo. Como faço para mesclar os dois juntos? Eu não me importo de imagens duplicadas ou nome de arquivo alterado, mas eu gostaria que eles em apenas uma pasta.

PS. Eu sou muito novo em usar a linha de comando.

    
por Smokeyone 04.01.2016 / 11:04

3 respostas

4

Como você é novo na linha de comando, eu irei os passos um por um, explicando cada um ao longo do caminho.

Quando você abre um terminal / shell / linha de comando, você verá um prompt de comando assim:

username:~ $ 

ou algo similar. Você quase certamente começará em seu diretório pessoal, que tem o nome do seu nome de usuário.

Digamos que suas duas pastas de imagem sejam folder1 e folder2 . Você disse que eles estão na área de trabalho, então primeiro mudamos para o diretório Desktop :

cd Desktop

O comando cd é o comando "change directory", fazendo exatamente o que parece.

Agora, vamos usar o comando mv , que obviamente significa "mover".

mv -i folder1/* folder2/

Eu usei o -i flag, que significa "interactive", que faz com que um prompt apareça toda vez que houver um conflito de nome de arquivo. Você será perguntado se deseja substituir o arquivo de destino ou não.

Depois disso, você terá que resolver manualmente qualquer conflito * renomeando os arquivos restantes em folder1 para que eles não entrem em conflito com os arquivos em folder2 . Finalmente, execute o comando acima novamente, mas desta vez você não deve ter conflitos.

Depois de tudo isso, o diretório folder1 deve estar vazio, então vá em frente e remova-o com

rmdir folder1

e pronto!

Eu realmente recomendo que você use um tutorial básico como este para aprender o básico.

  • Observe que é claro que é possível resolver programaticamente conflitos de nomenclatura renomeando cada um dos arquivos em folder1 , mas tentei manter as coisas simples.
por 05.01.2016 / 02:29
2

Com uma GUI

Você não precisa usar a linha de comando se não quiser! Qualquer gerenciador de arquivos, pelo menos, permitirá que você navegue entre diretórios, crie e remova diretórios e mova arquivos. Alguns podem ser mais sofisticados do que outros quando um arquivo no diretório de origem tem o mesmo nome de um arquivo no diretório de destino.

Se você quiser detectar (e se livrar) de imagens duplicadas, use Geeqie . (Instale o pacote geeqie da sua distribuição.) É um visualizador de imagens com alguns recursos interessantes, incluindo um “modo diretório” persistente (mostrando uma lista de imagens no diretório atual, com miniaturas e permitindo navegar facilmente), e detecção de duplicados (menu “Arquivo” → “Localizar duplicados”, depois arraste e solte todas as imagens). Você também pode realizar manipulações básicas de arquivos (copiar, mover, remover e um recurso bruto de renomeação em massa) na (s) imagem (ns) atualmente selecionada (s).

Com a linha de comando

Se você quiser usar a linha de comando, gardenhead escreveu um bom primer . Vou adicionar um pouco mais de material avançado.

Para mover todos os arquivos de folder1 para folder2 , exceto quando já houver um arquivo com o mesmo nome em folder2 , você poderá usar

yes n | mv -i folder1/* folder2/

Os arquivos com um conflito de nome serão deixados em folder1 , e você poderá examiná-los para decidir se deseja renomeá-los ou excluí-los.

Se você quiser renomear os arquivos para ter nomes exclusivos, existem algumas estratégias que você pode aplicar. Se as imagens tiverem dados EXIF , você poderá renomear o arquivo para incluir informações extras, como a data em que a foto foi tirada. Mesmo se não houver dados EXIF, talvez você queira incluir algumas características de imagem, como o tamanho. Consulte Como posso renomear as fotos, dados os dados EXIF? , renomear imagens para incluir a data de criação no nome , Como renomeie todos os arquivos e adicione o tamanho da imagem ao nome do arquivo , Lote renomeie os arquivos de imagem por idade, acrescente data e variável ao nome do arquivo , ... para algumas possibilidades. Se você quiser apenas que os arquivos tenham nomes exclusivos, você pode numere-os .

Se você quiser detectar imagens visualmente semelhantes com um utilitário de linha de comando, você pode usar findimagedupes (novamente, instalar pacote da sua distribuição).

    
por 05.01.2016 / 02:47
1

Se você tem mv do gnu , pode mover arquivos do diretório foo para o diretório bar , renomeando os arquivos existentes com o seguinte comando:

mv --backup=numbered foo/* bar

(você deve testar isso em dados de amostra antes de executar este comando em arquivos que você tem medo de perder ...)

    
por 04.01.2016 / 11:16

Tags