Meu problema é que, por algum motivo, tenho duplicatas de algumas faixas de música. No entanto, eles não são nomeados de forma idêntica. Por exemplo:
Música / Prefuso 73 / Extintor de Uma Palavra / 07. Detchibe.mp3
&
Music / Prefuse 73 / Extintor de uma palavra / 07 - Detchibe.mp3
Observe que são músicas duplicadas, mas as 07 * . * e o 07 - está enganando os localizadores de arquivos duplicados que pesquisam com base nos nomes dos arquivos.
11.10
banshee
music
duplicate-files
John McKean Pruitt
fonte
fonte
Respostas:
Você pode usar
fdupes
como a resposta da pergunta »Como encontrar e excluir arquivos duplicados« sugeridos. Deixe-me dar um exemplo:Primeiro eu criei o diretório como no seu exemplo. Eu criei um arquivo a partir de dados aleatórios e copiei seu conteúdo para outros arquivos. Quando executo,
fdupes -rd
o software encontra os dois arquivos exatos e pergunta qual deles excluir.Se você tem muitos arquivos, você pode usar a opção
-1
.fdupes
imprimirá todas as duplicatas em uma única linha. Você pode processá-los comxargs
e outros recursos do shell.fonte
fdupes
parece não mergulhar em subpastas. Por exemplo,~/Desktop/Dupes2/
há uma pasta chamada Blood Sugar Sex Magik com os Dupes, mas umfdupes -r
comando simples não retorna nenhuma lista.Encontrei uma cadeia de comandos um tanto simples. Muito obrigado a @Oli.
Isso costumava encontrar
fdupes
recursivamente (-r
) os dupes, omitindo o primeiro (-f
). O Bash lê essa linha por linha, através deread
amd, em cada linha,mv
para mover todas as duplicatas para outro diretório. Observe o uso de aspas nowhile
loop para manipular espaços e outras pontuações desonestas quefdupes
não manipulam (mesmo com-1
/--sameline
).fonte
Nas respostas para definir manualmente a contagem de escutas de faixa no Banshee? , descreve como acessar o banco de dados que o banshee usa para salvar todas as informações da faixa.
Depois de conectar-se ao banco de dados, na tabela executar consulta, cole
na caixa de string SQL e clique em 'executar consulta'. Isso mostrará todas as faixas que você possui com o mesmo título, ignorando espaços, traços e pontos. Se houver outros caracteres que você deseja ignorar, inclua-os na consulta no mesmo padrão. (
replace(
Antes de adicionar o IE antes do primeiro "substituir" e depois do último ")" nessa linha, adicione, '[character you want removed]', '')
.(Não sei quanto você sabe sobre sql - se precisar de mais detalhes, poste um comentário.)
Isso lhe dará uma lista de títulos. Você terá que realmente excluir você mesmo.
Pode haver uma maneira melhor de fazer isso, mas se houver, não sei.
Depois de ter uma grande lista de arquivos a serem excluídos (do meu método ou de
fdupes
outros mencionados), coloque a lista de arquivos que deseja excluir em um diretório de texto. Verifique se um dos seguintes é verdadeiro:Opção 1: os nomes dos arquivos contêm o caminho completo. Por exemplo, o arquivo pode conter:
Opção nº 2: os nomes de arquivos contêm o caminho relativo e o arquivo com a lista de nomes de arquivos é salvo na pasta pai. Por exemplo, se sua lista de arquivos foi salva
/home/doneill/music/
, ela conteria:Em qualquer um dos casos, abra uma janela do terminal e mude para a pasta que contém o arquivo com a lista,
cd /home/doneill/music/
por exemplo.Digitar:
(Substituindo filelist.txt pelo nome do arquivo pela lista). Isso deve citar uma lista de todos os arquivos que você deseja excluir. Reserve um momento para verificar a lista. Se estiver certo, digite:
Isso basicamente diz ao seu computador: para cada linha do arquivo
filelist.txt
, remova um arquivo com o nome listado.fonte
sqlitebrowser
se não for colocado no menu quando você o instalar). 2) Arquivo -> Abrir. 3) Digite/home/[user]/.config/banshee-1/
na barra de endereço 'Examinar' (substitua [usuário] pelo seu nome de usuário). 4) Clique duas vezes embanshee.db
.