Nelle risposte a Imposta manualmente il numero di ascolti in Banshee? , descrive come accedere al database utilizzato da Banshee per salvare tutte le informazioni sulla traccia.
Una volta connesso al database, nella tabella delle query di esecuzione, incollare
select tweaked_track, count(*) from
(select replace(replace(replace(title, ' ', ''), '-', ''), '.', '') as tweaked_track
from coretracks)
group by tweaked_track
order by 2, 1 desc;
nella casella stringa SQL, quindi fare clic su "Esegui query". Questo ti mostrerà tutte le tracce che hai con lo stesso titolo ignorando spazi, trattini e punti. Se ci sono altri caratteri che si desidera ignorare, aggiungerli alla query nello stesso modello. (IE aggiungere replace(
prima della prima "sostituzione" esistente e dopo l'ultima ")" su quella riga, aggiungere , '[character you want removed]', '')
.
(Non so quanto sai di sql - se hai bisogno di maggiori dettagli, pubblica un commento.)
Questo ti darà un elenco di titoli. Dovrai effettivamente eliminare da solo.
Potrebbe esserci un modo migliore per farlo, ma se c'è, non lo so.
Una volta che hai un grande elenco di file da eliminare (dal mio metodo o da fdupes
come altri hanno già detto), metti l'elenco dei file che desideri eliminare in una directory di testo. Assicurarsi che sia vera una delle seguenti condizioni:
Opzione n. 1: i nomi dei file contengono il percorso completo. Ad esempio il file potrebbe contenere:
/home/doneill/music/weird_al/duped_file.mp3
/home/doneill/music/weird_al/another_dupe.mp3
/home/doneill/music/bach/baroque_dupe.mp3
Opzione n. 2: i nomi dei file contengono il percorso relativo e il file con l'elenco dei nomi dei file viene salvato nella cartella principale. Ad esempio, se l'elenco dei file è stato salvato /home/doneill/music/
, conterrebbe:
weird_al/duped_file.mp3
weird_al/another_dupe.mp3
bach/baroque_dupe.mp3
In entrambi i casi, aprire una finestra del terminale e passare alla cartella che contiene il file con l'elenco, cd /home/doneill/music/
ad esempio.
Digitare:
for a in `cat filelist.txt`; do echo $a; done
(Sostituendo filelist.txt con il nome del file con l'elenco). Questo dovrebbe sputare un elenco di tutti i file che si desidera eliminare. Prenditi un momento per ricontrollare l'elenco. Se è corretto, digitare:
for a in `cat filelist.txt`; do rm $a; done
Questo in pratica dice al tuo computer: per ogni riga del file filelist.txt
, rimuovi un file con il nome elencato.