In den Antworten auf Manuell eingestellte Titelanzahl in Banshee? Es wird beschrieben, wie Sie zu der Datenbank gelangen, mit der Banshee alle Track-Informationen speichert.
Sobald Sie mit der Datenbank verbunden sind, fügen Sie in der Tabelle zum Ausführen von Abfragen ein
select tweaked_track, count(*) from
(select replace(replace(replace(title, ' ', ''), '-', ''), '.', '') as tweaked_track
from coretracks)
group by tweaked_track
order by 2, 1 desc;
Klicken Sie in das SQL-Zeichenfolgenfeld auf "Abfrage ausführen". Dies zeigt Ihnen alle Titel mit demselben Titel, wobei Leerzeichen, Bindestriche und Punkte ignoriert werden. Wenn Sie andere Zeichen ignorieren möchten, fügen Sie sie der Abfrage im selben Muster hinzu. (IE add replace(
vor dem ersten vorhandenen "Ersetzen" und nach dem letzten ")" in dieser Zeile hinzufügen , '[character you want removed]', '')
.
(Ich weiß nicht, wie viel Sie über SQL wissen - wenn Sie weitere Details benötigen, schreiben Sie einen Kommentar.)
Dadurch erhalten Sie eine Liste der Titel. Sie müssen das Löschen tatsächlich selbst durchführen.
Es gibt vielleicht einen besseren Weg, dies zu tun, aber wenn ja, weiß ich nichts darüber.
Wenn Sie eine große Liste von Dateien haben, die gelöscht werden sollen (entweder von meiner Methode oder von fdupes
anderen, die bereits erwähnt wurden), legen Sie die Liste der Dateien, die Sie löschen möchten, in einem Textverzeichnis ab. Stellen Sie sicher, dass eine der folgenden Bedingungen erfüllt ist:
Option 1: Die Dateinamen enthalten den vollständigen Pfad. Zum Beispiel könnte die Datei enthalten:
/home/doneill/music/weird_al/duped_file.mp3
/home/doneill/music/weird_al/another_dupe.mp3
/home/doneill/music/bach/baroque_dupe.mp3
Option 2: Die Dateinamen enthalten einen relativen Pfad, und die Datei mit der Liste der Dateinamen wird im übergeordneten Ordner gespeichert. Wenn Ihre Dateiliste beispielsweise in gespeichert wurde /home/doneill/music/
, würde sie Folgendes enthalten:
weird_al/duped_file.mp3
weird_al/another_dupe.mp3
bach/baroque_dupe.mp3
Öffnen Sie in beiden Fällen ein Terminalfenster und wechseln Sie beispielsweise in den Ordner, der die Datei mit der Liste enthält cd /home/doneill/music/
.
Eintippen:
for a in `cat filelist.txt`; do echo $a; done
(Ersetzen von filelist.txt durch den Namen der Datei durch die Liste). Dies sollte eine Liste aller Dateien ausspucken, die Sie löschen möchten. Nehmen Sie sich einen Moment Zeit, um die Liste zu überprüfen. Wenn es richtig ist, geben Sie Folgendes ein:
for a in `cat filelist.txt`; do rm $a; done
Dies sagt Ihrem Computer im Grunde: filelist.txt
Entfernen Sie für jede Zeile in der Datei eine Datei mit dem angegebenen Namen.