Я хочу сохранить все URL открытых окон хрома Google в различных текстовых файлах с командной строкой. Чтобы сделать это, я должен был бы знать, где хром Google хранит их текущие URL хрома Google в Ubuntu 16.04 LTS.
Даже при том, что я хочу записать сценарий для хрома, я попробовал эту рекомендацию за Firefox, и это не работало. Я не мог найти sessionstore.js файл нигде.
Мы можем find
, которые являются каталогами Chromium в домашнем каталоге пользователя, следующим образом:
find $HOME -type d -name *mium -exec echo {} \;
Результат должен быть:
/home/<user>/.config/chromium
/home/<user>/.cache/chromium
В каталоге /home/<user>/.config/chromium/Default
мы может найти пару файлов, которые могут быть полезны:
$ ls -1t $HOME/.config/chromium/Default | grep -i 'tabs\|sess'
Current Tabs
Current Session
Session Storage
Last Tabs
Last Session
Проблема в том, что, в отличие от файлов журналов Firefox , файлы журналов Chromium не читаются и трудно разделить вкладки. история с текущих URL.
Однако в моем Current Session
у меня есть две открытые вкладки:
https://askubuntu.com/questions/970546/location-of-url-of-opened-tabs-of-google-chromium-in-ubuntu
- которые я открыл по закладке.
https://www.facebook.com/
- что я открыл с помощью закладки, но затем я должен войти в систему и затем нажать на логотип FB.
Мне удалось добиться правильного результата с помощью этой уродливой команды:
$ cat -e $HOME/.config/chromium/Default/'Current Session' | sed -e 's/\^@/\n/g' -e '/_\/chrome/d' | grep -Po '(http|https)://\K.*' | sort -u
askubuntu.com/questions/970546/location-of-url-of-opened-tabs-of-google-chromium-in-ubuntu
www.facebook.com/?ref=logo
Но когда я открываю другую вкладку и некоторое время просматриваю внутри, вывод вышеприведенной команды становится более размытым: [ 1121]
$ cat -e $HOME/.config/chromium/Default/'Current Session' | sed -e 's/\^@/\n/g' -e '/_\/chrome/d' | grep -Po '(http|https)://\K.*' | sort -u
askubuntu.com/questions/970546/location-of-url-of-opened-tabs-of-google-chromium-in-ubuntu
spidersport.com/forum/
spidersport.com/forum/index.php?sid=59f48a87db485e3a321aedbf7de68e6a
spidersport.com/forum/login.php
spidersport.com/forum/login.php?sid=59f48a87db485e3a321aedbf7de68e6a
www.facebook.com/
www.facebook.com/login.php?login_attempt=1&lwv=111
www.facebook.com/?ref=logo
www.spidersport.com/
Да, результат правильный, потому что URL-адреса моих открытых вкладок перечислены в списке, но также есть URL-адреса из истории просмотра.
$ perl -nwle '$h{$_}++ for /http[[:print:]]+/g; END{print for sort keys %h;}' \
~/.config/chromium/Default/Current\ Session
переделанная версия @pa4080 (что я не мог просто добавить как комментарий.)
Эта команда пытается найти URL-адреса HTTPS, связанные с текущим сеансом Chromium: Здесь я нахожу уникальные строки, содержащие слово https, чтобы получить историю.
строки для чтения строки в двоичных файлах, grep для поиска строк с https в них и sort -u для печати только их единственного вхождения
strings $HOME/.config/chromium/Default/'Current Session' |grep https| sort -u