Как показать данные из рабочей области или непосредственно из приложения?

Можно зарегистрироваться в цикле для строк Вы (не делайте), хотите:

declare -a accept
declare -a reject
for s in "${COMPREPLY[@]}"; do
    if [[ "$s" =~ want ]]; then
        accept=( "${accept[@]}" "$s" )
    else
        reject=( "${reject[@]}" "$s" )
    fi
done
0
24.10.2013, 16:32
3 ответа

По крайней мере, версия Dooble, который Вы используете, не имеет никакого сохранения истории, вообще реализованного. Связанные опции в окне настроек являются только тупиками.

Извлечение истории от памяти является очень трудным. То, что можно сделать, по крайней мере, получают некоторый список URL от памяти. Поскольку URL могут быть разделены в памяти в различные местоположения и существует намного больше URL в памяти из других источников (кэш, библиотеки и т.д.), Вы получаете только частичный результат и много "мусора".

Принятие PID Dooble 21059 (использование pgrep Dooble получить его):

$ gdb -p 21059
(gdb) generate-core-file
Saved corefile core.21059
(gdb) detach
(gdb) quit

Затем можно искать в базовом файле, например, с

$ strings core.21059 -n 8 --encoding=l | grep "^http://" | 

или

$ strings core.21059 -n 8 --encoding=l  | grep "^https://"

для URL. Удаление ^ (соответствия запускаются из строки) от выражений GREP, дает больше результатов, но также и больше неинтересного вывода.

0
28.01.2020, 05:01
  • 1
    Большое спасибо. Я попробую его еще раз - с поршнем и подкачкой. Что, если история в поршне шифруется? В этом случае я подозреваю, что не получил бы результатов... Я должен искать, когда история открыта и видима (затем, она должна быть сохранена как простой текст)? –  user49847 24.10.2013, 18:10
  • 2
    @user49847 информация обычно не шифроваться в RAM, но это означает не, что легко найти URL. Я не ожидаю, что дамп ядра изменяется очень при открытии меню истории. –  jofel 24.10.2013, 18:18

История Dooble, кажется, хранится в базе данных SQLite, названной history.db, расположенным под ~/.dooble или %userprofile %\.dooble

Из http://sourceforge.net/p/dooble/code/HEAD/tree/trunk/browser/Source/dhistory.cc

0
28.01.2020, 05:01
  • 1
    я действительно ценю Ваш ответ, но нет такого файла в моем случае - я предполагаю, что это - часть кода текущей версии. Так или иначе большое спасибо! –  user49847 24.10.2013, 18:05
  • 2
    Похож на более старое использование версий QWebHistory. Я просмотрел источник, связанный выше, но я не могу найти использование saveState () или loadState (). Если у Вас нет удачи с нахождением, где история могла бы быть сохранена, и другие ответы не получают Вас нигде.... Вы рассмотрели просто зажимание в тиски страниц в Вашей истории так, чтобы можно было вырезать и вставить те объекты в другом месте для сохранности? –  tamarintech 24.10.2013, 18:40
  • 3
    я действительно сделал бы это с методом, предложенным Вами, если бы только это было возможно. Но это не, я упомянул выше, я не вижу список с посещаемыми страницами, потому что это намного больше (на самом деле дольше), чем моя видимая рабочая область - это выходит за пределы дисплея. Таким образом, я не могу нажать на адрес или даже видеть его. Я проверяю Оперативную память и файлы на диске, и в обоих случаях я не нашел результатов, поэтому где это? Я думаю, что это не секрет, потому что браузер является открытым исходным кодом, но существует только код доступной текущей версии. Я использую версию приблизительно с 2008 (единственное в диспетчере пакетов). Еще раз спасибо. –  user49847 24.10.2013, 20:06
  • 4
    Dooble основан на QT, который предлагает, чтобы надлежащий способ извлечь ретроспективные данные из программы состоял в том, чтобы сериализировать его к QDataStream. Необходимо было бы встроить это в программу прежде, чем выполнить его. Фактическая логистика того, где и то, как эти данные хранятся, не было ясно, когда я посетил спокойную документацию. Могут быть причины, Вы не можете найти его в памяти на основе того, как спокойный управляет данными - например, это может все быть сохранено в различном кодировании или даже разделено независимо доменом, путем, и т.д. который мог бы объяснить, почему Ваш grep не работает из ответа jofel. Возможно, попробуйте grep'ing за домен? –  tamarintech 24.10.2013, 20:15
  • 5
    Хорошо, я получил его. Но даже если браузер сохраняет адреса splited, это также должно хранить где-нибудь информацию, как объединить его. Obviuosly я знаю, что поиск его не имеет никакого смысла, потому что не известно, как похоже и где это (в отличие от адресов веб-страниц, которые являются регулярными выражениями). Я все еще пробую, спасибо за Вашу поддержку. –  user49847 26.10.2013, 02:48

Я знаю, что не должен отвечать на свой вопрос, но я нашел некоторое полезное решение так в этом случае, я надеюсь, что мне разрешают.

Существует файл, который я ранее пропустил из-за его имени - 'WebpageIcons.db". Это были приблизительно 2 МБ, таким образом, я проверил содержание, и это - база данных SQLite с веб-значками, которые подключены к одной почти из каждой или буквально каждой посещаемой веб-страницы. Экспорт одной из таблиц базы данных, возможно, не является фактической историей, но это может использоваться в качестве этого, потому что взгляды точно так же, как список, который включает все посещаемые страницы.

Случайно я хотел бы сказать спасибо @esnyder, @Anthon, @Gilles и особенно @jofel, кто дал мне лучшее, потому что почти рабочее решение.

Я сделал это также согласно предложению jofel, и в выводе I видят адреса сайтов, которые я посетил, и это находится даже в очень читаемом формате - с разметками, таким образом ища <a href> достаточно должен был получить список сайтов. Трудно удостовериться, если существует все там, но это, кажется, не - просто большая часть сайтов. Это немного нелогично, почему только некоторая часть сайтов и не всех их хранится там и где остальное из списка предыстории, но это - деталь.

Я могу спросить Вас о чем-то еще? Как возможно, что история находится в базовом файле, сгенерированном с GDB, и не находится в/proc/kcore файле? Вы или кто-либо могли объяснить меня это?

0
28.01.2020, 05:01

Теги

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