Как вручную изменить группу ссылок истории Firefox, желательно с помощью какого-либо текстового редактора

1153
RaamEE

Этот вопрос относится к FireFox v25 в моем случае.

Wiki Workspace, использованный мной, изменил свое название с

https://wikis.mycompany.com/teamcollab/wiki/MyProduct+Alpha+QA:Test+Automation

в

https://wikis.mycompany.com/teamcollab/wiki/MyProduct+QA:Test+Automation

опуская слово "Альфа" из названия и URL вики.

Я часто возвращаюсь к страницам вики, начиная писать разделы URL или заголовка страницы в адресной строке, которые автоматически предлагают мне релевантные страницы.

Теперь эта функция не работает, так как все мои страницы ведут по неправильному URL-адресу, и в качестве бонуса у меня теперь есть дубликаты новой вики и старой вики в истории.

Так как история сохраняется в

Я хочу сделать следующее (доступно для закладок)

1) Экспортируйте всю историю, которая у меня есть. 2) Вручную зайдите в историю и замените содержимое URL и заголовка. 3) Импортируйте новую историю.

или, в качестве альтернативы, что такое правильный sqlite sql запрос для изменения истории.

Я искал подходящее дополнение для Firefox, но пока не смог найти. Это также может быть хорошим вариантом.

Благодарю.

RaamEE

2
почему бы не найти подходящие записи и удалить их, тогда будут только новые Raystafarian 10 лет назад 0
Я не хочу удалять старые, потому что иногда вместо того, чтобы искать конкретную вики-страницу в инструменте поиска вики (который, как я знаю, я посещал в прошлом), мне легче написать несколько слов из название и вуаля, вот оно. Я знаю, что это хорошая страница для поиска, потому что я уже использовал ее и сохранил в истории. RaamEE 10 лет назад 0
Что ж, похоже, вопрос больше относится к SQL. Файл place.sqlite (http://stackoverflow.com/questions/10179990/where-is-the-places-sqlite-database-on-linux) содержит (среди прочего) историю. Поэтому я ищу SQL-запрос, который может заменить текст в RegEx. Кроме того, я могу экспортировать следующий результат SQL SELECT * FROM moz_places; и отредактируйте запрос ОБНОВЛЕНИЯ от этого, выполнимого, но грязного. Кроме того, я не знаком с какими-либо зависимостями между таблицами. RaamEE 10 лет назад 0

3 ответа на вопрос

2
RaamEE

------IMPORTANT------

Save a copy of places.sqlite before you begin. Save 2 copies if needed. Use at your own discretion

------IMPORTANT------

I chose the dirtiest quickest solution. running 400 SQLite UPDATE commands to change 400 records.

1) copy a backup of places.sqlite from /Users/YourUserName/Library/Application Support/Firefox/Profiles/7skm4kzn.default/places.sqlite (MacOS system. The last directory differs between profiles) to places_bak.sqlite

2) run a HERE script to select the records and output into file

#!/bin/bash sqlite3 places.sqlite << HERE > results.sql select id, url from moz_places where url like '%MyProduct+Alpha+QA%'; HERE 

3) Use vi and the next substitution to modify the urls (I didn't need to touch the Title)

:%s/\([0-9]*\)|\(.*\)MyProduct+Alpha+QA\(.*\)/UPDATE moz_places SET url='\2MyProduct+QA\3' WHERE id=\1;/gc 

This will remove the word "+Alpha" from the URL and create a new set of UPDATE commands which in turn you can dump into the DB file using this HERE script

#!/bin/bash sqlite3 places.sqlite << HERE `cat results.sql` HERE 

4) Copy & Replace the original places.sqlite under your profile path. I suggest you shutdown firefox before overwriting the original file.

1
Gallaecio

I had the same question as you had, but it turned out that what was wrong was the question. I found a better approach to deal with the renaming of a wiki: the Redirector web browser plugin.

You can basically have your browser redirect you using regular expressions. The best thing is that not only does it work with history URLs, it also works with any other URL, so if you follow links to the old wiki from anywhere else, they get right too.

1
Garry

Как уже ответил "RaamEE". Вы можете следовать этому подходу.

Но это немного просто, когда мы можем напрямую запустить команду UPDATE на sqlite (БД firefox). Обновление на sqlite очень просто, и мы можем также проверить изменения. Просто запустите команду SELECT, чтобы проверить измененную историю.

Важный

  • Выйти из Firefox.
  • Найти папку профиля Firefox.
  • Сделайте резервную копию.

Процесс на MAC и работал для меня

  1. Выйти из Firefox
  2. cd /Users//Library/Application Support/Firefox/Profiles/oicj7ndj.default( oicj7ndjбудет другим для вас)
  3. Сделайте резервную копию: cp places.sqlite places.sqlite.bak
  4. Запустите SQLite: sqlite3 places.sqlite
  5. Изменить: UPDATE moz_places SET url=replace(url, 'OLD_STRING', 'NEW_STRING') where url like "%OLDSTRING%";
  6. Для проверки: select * from moz_places where url like "%NEW_STRING%"
  7. выйдите из SQLite и запустите Firefox