AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1495220
Accepted
sotirov
sotirov
Asked: 2023-12-07 11:34:35 +0800 CST2023-12-07 11:34:35 +0800 CST 2023-12-07 11:34:35 +0800 CST

Encontre nomes de arquivos duplicados que não diferenciam maiúsculas de minúsculas em todas as pastas e subpastas

  • 772

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 bashsoluçã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
    
command-line
  • 1 1 respostas
  • 64 Views

1 respostas

  • Voted
  1. Best Answer
    muru
    2023-12-07T11:56:58+08:002023-12-07T11:56:58+08:00

    Assumindo seus caminhos:

    • não tenho novas linhas
    • tem exatamente um período no arquivo

    Você pode usar algo como:

    find . -type f | awk -F / '{
      fname = tolower($NF); # Get the filename in lowercase
      sub(/\.[^.]*$/, "", fname); # Strip extension
      paths[fname] = paths[fname] "\n" $0; # Append full path to existing list of filenames separated by newline
      count[fname]++;
    } END {
      for (fname in paths)
        if (count[fname] > 1)
          print fname paths[fname] "\n"
    }'
    
    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve