Dans les réponses à Définir manuellement le nombre d'écoute de piste dans Banshee? , il décrit comment accéder à la base de données utilisée par banshee pour enregistrer toutes les informations de piste.
Une fois que vous êtes connecté à la base de données, sur la table d'exécution des requêtes, collez
select tweaked_track, count(*) from
(select replace(replace(replace(title, ' ', ''), '-', ''), '.', '') as tweaked_track
from coretracks)
group by tweaked_track
order by 2, 1 desc;
dans la zone de chaîne SQL, puis cliquez sur «exécuter la requête». Cela vous montrera toutes les pistes que vous avez avec le même titre en ignorant les espaces, les tirets et les points. S'il y a d'autres caractères que vous souhaitez ignorer, ajoutez-les à la requête selon le même modèle. (IE ajouter replace(
avant le premier "remplacer" existant et après le dernier ")" sur cette ligne, ajouter , '[character you want removed]', '')
.
(Je ne sais pas ce que vous savez sur sql - si vous avez besoin de plus de détails, postez un commentaire.)
Cela vous donnera une liste de titres. Vous devrez réellement supprimer vous-même.
Il y a peut-être une meilleure façon de le faire, mais si c'est le cas, je n'en sais rien.
Une fois que vous avez une grande liste de fichiers à supprimer (soit de ma méthode, soit de celle fdupes
que d'autres ont mentionnée), mettez la liste des fichiers que vous souhaitez supprimer dans un répertoire de texte. Assurez-vous que l'une des conditions suivantes est vraie:
Option # 1: Les noms de fichiers contiennent le chemin complet. Par exemple, le fichier peut contenir:
/home/doneill/music/weird_al/duped_file.mp3
/home/doneill/music/weird_al/another_dupe.mp3
/home/doneill/music/bach/baroque_dupe.mp3
Option n ° 2: les noms de fichiers contiennent un chemin relatif et le fichier avec la liste des noms de fichiers est enregistré dans le dossier parent. Par exemple, si votre liste de fichiers a été enregistrée /home/doneill/music/
, elle contiendrait:
weird_al/duped_file.mp3
weird_al/another_dupe.mp3
bach/baroque_dupe.mp3
Dans les deux cas, ouvrez une fenêtre de terminal et accédez au dossier contenant le fichier avec la liste cd /home/doneill/music/
par exemple.
Tapez:
for a in `cat filelist.txt`; do echo $a; done
(Remplacement de filelist.txt par le nom du fichier par la liste). Cela devrait cracher une liste de tous les fichiers que vous souhaitez supprimer. Prenez un moment pour revérifier la liste. Si c'est le cas, tapez:
for a in `cat filelist.txt`; do rm $a; done
Cela indique essentiellement à votre ordinateur: pour chaque ligne du fichier filelist.txt
, supprimez un fichier portant le nom indiqué.