Как удалить повторяющиеся треки из Banshee?

Как удалить повторяющиеся треки от Банши?

19
задан 13 January 2011 в 05:14

32 ответа

Другая альтернатива для удаления песни duplicqtes из базы данных banshee sqlite:

  cd /home/youruser/.config/banshee-1/  

Закрыть Banshee ПЕРВЫЙ! Резервное копирование вашей базы данных:

  cp banshee.db banshee.db.bck  

Если у вас нет установленного sqlite:

  sudo apt-get install sqlite3  

Открыть DB:

  sqlite3 banshee.db  

Тип этот запрос:

  DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN (TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID, AlbumID, Title);   

exit:

  .q  

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 13 August 2018 в 16:47
  • 1
    У меня была схожая проблема, и это идеально для меня. Благодарю. – Narameh 17 October 2016 в 12:08

В этом ответе используется python для доступа к базе данных banshee, а затем выполните действие sql, которое списки donbicca перечисляют с помощью твиста. Вместо того, чтобы многократно запускать код sql, я попросил python закодировать код sql по количеству экземпляров, которые существуют в SQL-коде. Вам нужно всего лишь запустить этот код один раз. Вы должны заменить свой домашний путь (замените «home / JONDOE» на ваш домашний путь).

  #! / Usr / bin / env python import sqlite3 # открыть базу данных для определения количества строк  to loop over db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () a = cursor.execute ('SELECT TrackID из группы корреляторов по TitleLowered, ArtistID  , AlbumID, Title ') a_trackid = a.fetchall () db.close () # Закрывать базу данных, чтобы гарантировать, что результаты не влияют на будущие результаты.  Затем повторно запустите базу данных db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () sql = ('УДАЛИТЬ из кортетов, в которых TrackID в (SELECT TrackID from (SELECT  TrackID как trackid, count (TrackID) как g из группы корреляций TitleLowered, ArtistID, AlbumID, Title), где g & gt; 1) ') для i в a_trackid: cursor.execute (sql) db.commit () db.close (  )  
2
ответ дан 13 August 2018 в 16:47

Другие вопросы по тегам:

Похожие вопросы: