Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Publicado por Xerxes em 16/09/2025
[ Hits: 511 ]
Contra (USA).zip
da pasta de originais se já tivermos um Contra.zip
na nossa pasta de traduções.
Double Dragon (USA).zip
, e remove todas as informações extras (como (USA)
, (Japan)
, (Rev 1)
) e a extensão .zip
, resultando em um nome "limpo", como Double Dragon
.
Ctrl + Alt + T
).
nano
:
nano
.
PASTA1="/caminho/para/sua/pasta_traduzida"
PASTA2="/caminho/para/sua/pasta_originais"
nano
pressionando Ctrl + X
, depois Y
e, por fim, Enter
.
prossiga
e tecle Enter para ver sua coleção de ROMs ficar ainda mais completa!
#!/bin/bash # --- CONFIGURAÇÃO --- # !!! IMPORTANTE: Altere os caminhos abaixo para os caminhos corretos das suas pastas !!! PASTA1="/media/xerxes/MMPLUS/Roms/FC" # Pasta de destino (suas ROMs traduzidas) PASTA2="/home/xerxes/Downloads/tiny-best-set-go-games/Roms/FC" # Pasta de origem (ROMs não traduzidas) # -------------------- # Verifica se os diretórios existem if [ ! -d "$PASTA1" ] || [ ! -d "$PASTA2" ]; then echo "❌ Erro: Um ou ambos os diretórios não foram encontrados. Verifique os caminhos no script." exit 1 fi echo "Pasta de ROMs Traduzidas (Destino): $PASTA1" echo "Pasta de ROMs Originais (Origem): $PASTA2" echo "-----------------------------------------------------" echo "🔎 Fase 1: Analisando quais jogos da Pasta 2 podem ser copiados..." echo "-----------------------------------------------------" # Array para armazenar a lista de jogos a serem copiados JOGOS_A_COPIAR=() # Loop através de cada arquivo .zip na Pasta 2 for JOGO_ORIGEM in "$PASTA2"/*.zip; do # Pega apenas o nome do arquivo, sem o caminho NOME_ARQUIVO_ORIGEM=$(basename "$JOGO_ORIGEM") # Normaliza o nome: remove tudo a partir do primeiro parêntese ou colchete # e também remove a extensão .zip NOME_NORMALIZADO=$(echo "$NOME_ARQUIVO_ORIGEM" | sed -E 's/ \(.+\)//g; s/ \[.+\]//g; s/\.zip$//') # Verifica se um arquivo com o nome normalizado já existe na Pasta 1 EXISTE_NA_PASTA1=$(find "$PASTA1" -maxdepth 1 -type f -name "$NOME_NORMALIZADO*.zip" | head -n 1) if [ -z "$EXISTE_NA_PASTA1" ]; then # Se a variável estiver vazia, o jogo não existe na Pasta 1 echo " [+] Adicionar à lista de cópia: '$NOME_ARQUIVO_ORIGEM'" JOGOS_A_COPIAR+=("$JOGO_ORIGEM") else # O jogo já existe, então não fazemos nada : fi done echo "-----------------------------------------------------" echo "✨ Análise concluída!" echo "" # Verifica se há jogos para copiar if [ ${#JOGOS_A_COPIAR[@]} -eq 0 ]; then echo "Nenhum jogo novo para copiar. Sua coleção já está completa!" exit 0 fi echo "Serão copiados ${#JOGOS_A_COPIAR[@]} novos jogos para a sua coleção." echo "" read -p "Deseja prosseguir com a cópia? (digite 'prossiga' e pressione Enter): " CONFIRMACAO # Verifica a confirmação do usuário if [ "$CONFIRMACAO" == "prossiga" ]; then echo "" echo "🚀 Iniciando a cópia..." for JOGO_PARA_COPIAR in "${JOGOS_A_COPIAR[@]}"; do cp -v "$JOGO_PARA_COPIAR" "$PASTA1/" done echo "" echo "✅ Cópia concluída com sucesso!" else echo "" echo "❌ Operação cancelada pelo usuário. Nenhum arquivo foi copiado." fi
Compilando tema Adapta (Ubuntu/Mint)
Touchpad no Slackware 14.1 - Configure botões e scroll
Elementary OS - Alterando tamanho dos ícones do Plank
Vire "ninja" no Linux com curso grátis online
Extensões do Gnome-shell no Ubuntu pelo navegador
Jogue de graça Brutal Doom: Hell on Earth Starter Pack
Nexuiz, um ótimo game 3D open source
Executando Hydra Launcher no Linux
Som estourado ou falhando na Steam com Proton
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Miyoo Mini Plus + Onion OS (Linux)
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
queria saber como instalar o android power tools igual ao winux no lin... (1)
Como listar os arquivos em "bloquin... [RESOLVIDO] (6)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (2)