Как искать Firefox Закладки?

Можно ли автоматически выполнять полнотекстовый поиск (или даже лучше регулярное выражение) на всех веб-сайтах, которые есть в моем списке закладок?

Редактировать

другой браузер, где это возможно?

5
задан 23 July 2012 в 13:22

2 ответа

Может быть, вы можете использовать резервную копию .json, находящуюся в ~/.mozilla/firefox/'profile name'/bookmarkbackups/, для поиска веб-сайтов, а затем искать выражения в этих веб-сайтах.

0
ответ дан 23 July 2012 в 13:22

Следующий сценарий получит доступ к новому авторезервному копированию Ваших закладок и выпускает запрос на каждую ссылку HTML.. который является как отформатированный простой текст.. Это использует Терминальный названный веб-браузер links (это находится в репозитории Ubuntu)... Это также использует легкий названный текстовый редактор leafpad, таким образом, можно изменить, добавьте, измените ссылки, которые Вы хотите к (это также находится в репозитории Upunto)...

Это не преследует ссылки.. это просто дает Вам страницу подключения ссылки к...

Фактический полученный вывод веб-страницы записан в текстовый файл, которые открываются в gedit (но можно изменить его для использования grep, sed, awk, энергии, меньше... и т.д....),

Вот сценарий: (Это, вероятно, имеет некоторые ошибки, но это не пишет в Вашу историю закладок fille, это только читает их...

#!/bin/bash 
#
# mame: ffhtmllinks
#
# requires:  firefox ...(The source of the bookmarks, using the auto backup list)
#                            TODO: use current list (but where is it?) 
#            leafpad ...(It acts as an editable dialog)
#            links   ...(Terminal web browser, which can write formatted document to stdout)

bname=$(basename $0)
ffdir="$HOME/.mozilla/firefox"
[[ ! -e "$ffdir" ]] && { echo "ERROR: Could not find Firefox config directory:" ; echo "$ffdir" ; exit 1 ; } 
echo  -e "\n# Profile Name\tDirectory\n= ============\t================"
< "$ffdir/profiles.ini" sed -n \
-e "/^\[Profile[0-9]\]$/,/^Path=/{
     :top
         s/^Name=\(.*\)/\1/; t holdname 
         s/^Path=\(.*\)/\1/; t havepath 
         n; b top
     :holdname
         h; n; b top 
     :havepath
         x; G; s/\(.*\)\n\(.*\)/\1:\t\2/p
}" | nl -w 1 -s ' ' > "$ffdir/$bname.names"
cat "$ffdir/$bname.names"
echo  -e "\nType the Name (or line number) of the Profile" \
         "\n         whose bookmarks you want to search"
read name
name="${name%% /}"
name="${name## /}"
<"$ffdir/$bname.names" sed -n "/^\($name .*\)\|\([0-9]\+ $name\)$/ p" > "$ffdir/$bname.sel"     
selct=$(<"$ffdir/$bname.sel" wc -l)
(( selct != 1 )) && { echo "ERROR: Could not find Profile:" ; echo "$name" ; exit 2 ; }

profdir="$ffdir/$(<"$ffdir/$bname.sel" sed -n "s/^[0-9]\+ [^"$'\t'"]\+"$'\t'"\(.*\)$/\1/p")"
bbakdir="$profdir/bookmarkbackups"     
[[ ! -e "$profdir"  ]] && { echo "ERROR: Could not find Firefox Profile directory:" ; echo "$profdir" ; exit 3 ; } 
[[ ! -e "$bbakdir"  ]] && { echo "ERROR: Could not find Firefox Bookmark Backup directory:" ; echo "S$bbakdir" ; exit 4 ; }
bbakjson="$(for f in "$bbakdir/bookmarks"* ; do echo "$f" ; done | sed -n \$p)"
[[ ! -e "$bbakjson" ]] && { echo "ERROR: Could not find Firefox Bookmark Backup .json file:" ; echo "  $bbakjson" ; exit 4 ; }
bbakhtml="$ffdir/$bname.bbakhtml"     
<"$bbakjson" sed -n "s/,\"uri\":\"http/\n"$'\x01'===$'\x01'"http/gp" \
            |sed -n "s/^"$'\x01'"==="$'\x01'"\([^"\""]\+\)\".*/\n\1\n/p" \
            |sed "/^$/ d" \
            >"$bbakhtml"
echo "===="
echo "INFO: About to open the list of bookmark links in a text editor (leafpad)..."
echo "      You can modify, add or remove links as you like..."
echo "      It is only a temporary file, so you won't loose your bookmarks..."
echo "  NB: You must actually EXIT 'leafpad' before this process can proceed."
echo
echo -n "Press Enter to open the bookmarks list in 'leafpad'... "
read x
echo
div="####################################################################################"     
pagedump="$ffdir/$bname.bbakdump" ; cp /dev/null "$pagedump"
linkcnt=$(<"$bbakhtml" wc -l); linklnb=1
<"$bbakhtml" leafpad 2>/dev/null
echo "======================================="
( while IFS= read -r link ; do
  echo -e "\n\n$div\n$div\n$div\n# \n# Link $((linklnb++)) of $linkcnt\n# \n"
  links -dump "$link"  
done <"$bbakhtml" ) |tee >( sed -n p >>"$pagedump" ) | sed -n p
wait 2 # TODO need a wait loop here for asynchronous process-substitution (sleep will have to do for now)
gedit "$pagedump"
exit
#
1
ответ дан 23 July 2012 в 13:22

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

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