Tenho cerca de 250.000 arquivos em várias pastas com subpastas. Procurando uma solução para encontrar nomes de arquivos duplicados em todas as pastas e suas subpastas. Meu sistema operacional é Ubuntu 22.04, usando bash
.
Eu prefiro uma bash
solução de comando/script. No entanto, sugestões sobre ferramentas semelhantes fdupes -r
(mas verificando se os nomes dos arquivos são iguais, e não o conteúdo) também são bem-vindas.
Sobre os arquivos e seus nomes:
- Todos os arquivos são imagens e possuem extensões de arquivo.
- O conteúdo do arquivo não é importante e pode ser diferente.
- As extensões dos arquivos não são importantes e podem ser diferentes.
- As letras maiúsculas e minúsculas para nomes de arquivos e suas extensões não são consistentes.
- Alguns dos arquivos têm mais de um
.
(ponto final) em seu nome de arquivo. Exemplo:file_Name2.1.png
- As extensões dos arquivos são 3 ou 4 símbolos. Exemplo:
.png
,.JPG
,.jpeg
Estrutura:
A estrutura de diretórios é bem simples: ./[YEAR]/[MONTH]/[IMAGE_NAME].[EXTENSION]
. Por exemplo:
tree -a
.
├── 2022
│ └── 12
│ ├── file1.png
│ └── File2.png
└── 2023
├── 01
│ ├── file1.jpg
│ ├── file3.png
│ └── file4.png
└── 02
├── FILE1.png
├── FILE4.PNG
├── File5.png
└── File6.png
Resultado esperado:
file1
:./2022/12/file1.png ./2023/01/file1.jpg ./2023/02/FILE1.png
file4
:./2023/01/file4.png ./2023/02/FILE4.PNG
Assumindo seus caminhos:
Você pode usar algo como: