Estou trabalhando em um arquivo muito desorganizado de um amigo que abrange muitos anos e com muita duplicação e estrutura complicada. Quero dividir o arquivo em diretórios que são ocupados principalmente com fotos e vídeos e carregá-los em um servidor immich. E então carregar o resto em um servidor seafile.
Antes de começar a construir minha própria lógica, eu queria perguntar se existe algo pronto ou meio pronto por aí.
A complicação é que diretórios com fotos e vídeos podem conter ocasionalmente outros arquivos como miniaturas, "DS_Store" e lixo similar. Então não posso confiar que serão apenas arquivos de imagem e vídeo.
Também em outros diretórios pode haver ocasionalmente arquivos de imagem, mas que não devem fazer parte do arquivo de fotos. Por exemplo, suas gravações de áudio com algumas imagens de capa de CD de trabalho em andamento. Também significa que arquivos de áudio e vídeo relacionados a seus CDs devem permanecer no arquivo de arquivo, não no servidor immich.
Basicamente procurando sugestões para tornar esse processo de separação menos trabalhoso.
PS Listar recursivamente todos os diretórios que contêm um ou mais arquivos de imagem jpg é um pouco relacionado, mas não está realmente à altura da tarefa aqui
Em
zsh
:Imprimiria a lista de diretórios onde 80% ou mais dos arquivos regulares não ocultos têm uma extensão dos tipos de arquivo de imagem mais comuns.
A declaração "principalmente ocupado com imagens" é uma declaração vaga e, portanto, quase impossível de implementar. Você precisa colocar isso em um critério que seja mais específico. Você pode tentar classificar o diretório:
Você precisará criar seu próprio loop para percorrer os diretórios; o
for
loop é apenas um exemplo. Você também precisará criar os critérios exatos para ocupado principalmente com imagens. Por exemplo: você pode considerar que é um cd-rip, se houver 2 mp3s no diretório, mesmo que o livreto completo seja escaneado para jpeg.