В ответах на Вручную установить количество прослушиваний треков в Banshee? он описывает, как получить доступ к базе данных, которую использует банши для сохранения всей информации о треке.
Когда вы подключитесь к базе данных, в таблицу запросов на выполнение вставьте
select tweaked_track, count(*) from
(select replace(replace(replace(title, ' ', ''), '-', ''), '.', '') as tweaked_track
from coretracks)
group by tweaked_track
order by 2, 1 desc;
в строку строки SQL, затем нажмите «выполнить запрос». Это покажет вам все треки с тем же названием, игнорируя пробелы, тире и точки. Если есть другие символы, которые вы хотите игнорировать, добавьте их в запрос в том же порядке. (IE добавить replace(
до первой существующей «заменить» и после последней «)» в этой строке, добавить , '[character you want removed]', '')
.
(Я не знаю, сколько вы знаете о SQL - если вам нужно больше деталей, оставьте комментарий.)
Это даст вам список названий. Вы должны будете на самом деле сделать удаление самостоятельно.
Возможно, есть лучший способ сделать это, но если есть, я не знаю об этом.
Когда у вас есть большой список файлов, которые нужно удалить (из моего метода или из fdupes
тех, что упоминали другие), поместите список файлов, которые вы хотите удалить, в текстовый каталог. Убедитесь, что верно одно из следующего:
Вариант № 1: имена файлов содержат полный путь. Например, файл может содержать:
/home/doneill/music/weird_al/duped_file.mp3
/home/doneill/music/weird_al/another_dupe.mp3
/home/doneill/music/bach/baroque_dupe.mp3
Вариант № 2: имена файлов содержат относительный путь, а файл со списком имен файлов сохраняется в родительской папке. Например, если ваш список файлов был сохранен /home/doneill/music/
, он будет содержать:
weird_al/duped_file.mp3
weird_al/another_dupe.mp3
bach/baroque_dupe.mp3
В любом случае откройте окно терминала и перейдите, например, в папку, содержащую файл со списком cd /home/doneill/music/
.
Печатать:
for a in `cat filelist.txt`; do echo $a; done
(Замена filelist.txt на имя файла со списком). Это должно выложить список всех файлов, которые вы хотите удалить. Найдите минутку, чтобы дважды проверить список. Если это правильно, введите:
for a in `cat filelist.txt`; do rm $a; done
Это в основном говорит вашему компьютеру: для каждой строки в файле filelist.txt
удалите файл с именем в списке.