Firefox 29 - как удалить записи истории, посещенные менее x раз

Контекст:

Я использую свой профиль Firefox в течение нескольких лет. Естественно, мой файл истории стал огромным. Я установил Firefox Sync между моим основным настольным ПК и ноутбуком.

HW конфиги:

  • ПК: i5-3450, 8 ГБ оперативной памяти DDR3, Crucial M4 128 ГБ SSD
  • ноутбук: Pentium SU4100, 4 ГБ оперативной памяти DDR3, жесткий диск WD 5400 об / мин

Доступ к записям истории при наборе в Awesome Bar на моем рабочем столе занимает довольно много времени, несмотря на приличную конфигурацию, но ноутбук работает даже медленнее. Опыт совершенно не отвечает.

Я подумал, что если я немного проясню историю, я мог бы избежать создания нового профиля, чтобы ускорить процесс.

Сам вопрос:

Проиллюстрировать:

история

Есть ли способ удалить все записи истории, которые были посещены меньше, чем x (скажем, 5) раз, и в то же время недавнее посещение меньше, чем y (скажем, 120) дней?

afaik файл истории - это какая-то база данных SQL, но я не совсем уверен, как данные сохраняются, если есть "безопасный способ" их редактировать и как будет выглядеть запрос для выполнения того, что мне нужно.


Я продолжал просматривать предыдущие вопросы SuperUser, чтобы посмотреть, смогу ли я найти соответствующую информацию.

В моей директории профиля Firefox есть файл с именем places.sqlite, Открытие его с помощью sqlite показывает (среди прочего) таблицы moz_places а также moz_historyvisits, Кажется, что moz_historyvisits использует основной moz_places ссылаться на URL.

Поскольку я не знаком с базами данных, я не совсем понимаю, как связаны две таблицы, упомянутые в цитате.

скриншот части таблицplaces_sqlite

Я заметил visit_count в стандартном формате, что облегчает работу с ним. last_visit_date выглядит зашифрованным невооруженным глазом, но я не вижу, каким образом.

Надеюсь, это поможет, я в конце концов.

1 ответ

Решение

Проведя некоторые исследования (см. В конце "ссылки"), я нашел следующее (вроде) простое решение:


BACKUP FIRST. ЗАКРЫТЬ FIREFOX ПЕРВЫЙ


Для этого необходимо отредактировать базу данных SQLite (автономную базу данных SQL; см. Статью в Википедии) Mozilla Firefox, выполнив запрос для поиска всех записей, которые удовлетворяют условию (в вашем случае - просматриваются менее 5 раз и не посещаются в последние 120 дней).


BACKUP FIRST. ЗАКРЫТЬ FIREFOX ПЕРВЫЙ

Инструкция начала:


Это работает (проверено и работает с моим Firefox v. 29.0.1). В 12 простых (иш) шагов:

  1. Установите браузер базы данных SQLite

  2. Открой это

  3. Нажмите Открыть базу данных

  4. Перейдите к C:\Users\[USER]\AppData\Roaming\Mozilla\Firefox\Profiles\[PROFILE] редактирование по мере необходимости

    BACKUP СЛЕДУЮЩИЙ ФАЙЛ ПЕРВЫЙ!!

  5. открыто places.sqlite из каталога, который вы открыли на шаге 4.

    СЕРЬЕЗНО, BACKUP FIRST!!

  6. Перейдите на вкладку "Выполнение SQL".

  7. Введите это:

    SELECT *
    FROM moz_places
    WHERE
        last_visit_date BETWEEN strftime('%s','2014-04-01')*1000000
                        AND strftime('%s','2014-05-30')*1000000
        AND visit_count < x(2)
    
  8. замещать x(2) до 5 (в вашем примере)

  9. замещать 2014-04-01 а также 2014-05-30 с диапазоном дат вы хотите

  10. Нажмите синюю кнопку воспроизведения.

  11. Проверьте правильность отображаемых сайтов (они должны быть, но дважды проверьте!)

  12. Если они есть, то замените первые две строки приведенного выше кода на:

    DELETE
    FROM moz_places
    

    поэтому ваш код выглядит примерно так:

    DELETE
    FROM moz_places
    WHERE
        last_visit_date BETWEEN strftime('%s','2014-04-01')*1000000
                        AND strftime('%s','2014-05-30')*1000000
        AND visit_count < x(2)
    

СДЕЛАННЫЙ! Закройте программу и нажмите "Сохранить" при закрытии.

Инструкции конец


Что насчет last_visit_date ?

Last_visit_date выглядит зашифрованным невооруженным глазом, но я не вижу, каким образом.

Я бы не назвал его "зашифрованным" (хотя я не согласен с тем, что он выглядит зашифрованным). Это просто в другой "системе". Дата в Unix система времени (или Epoch / POSIX). Это количество секунд, прошедших с 00:00:00 (UTC) 1 января 1970 года. 1 час - 3600 секунд. 1 год составляет 31556926 дней.

Для получения дополнительной информации. посмотрите эту статью в Википедии или этот сайт, который конвертирует время в эпоху и обратно.


Снимки экрана (игнорируйте запросы SQL на этих изображениях, они неправильные. Они в основном говорят вам, где искать)

Браузер базы данных SQLiteБраузер базы данных SQLiteБраузер базы данных SQLite

Благодаря;):

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