1

実行時にWebサイトのURLをテキストファイルにフェッチできるシェルスクリプトを作成しようとしています。これにより、そのテキストファイルをwgetへの入力として使用できます。

4

1 に答える 1

0

Firefoxの簡単な解決策は次のとおりです。

Firefoxは、古いURLまたは新しいURLにアクセスするたびに、つまり、いずれかのタブのロケーションバーの1つが変更されるたびに、 places.sqliteデータベースを更新します。

SQLを介してこのデータベースを照会するのは非常に簡単です。ファイルを監視し、コンソールへの変更を出力する小さなスクリプトを次に示します。

#!/usr/bin/env bash
places=$(find $HOME/.mozilla -name places.sqlite)

lastDate=0

warn(){
    echo "$*" > /dev/stderr
}

fail() {
    warn "$*"; exit 1
}

[ -f "$places" ] || fail "places.sqlite not found"

warn "starting to watch $places at time: $lastDate"

while sleep 1; do
    count=$(sqlite3 $places "select count(*) from moz_places where last_visit_date > '$lastDate'")
    if [ $count -gt 0 ]; then
        sqlite3 $places "select url from moz_places where last_visit_date > '$lastDate'"
        lastDate=$(echo "$(date +%s%N) / 1000" | bc)
    fi
done

必要に応じて、出力をファイルにリダイレクトできます。sh watchscript.sh > myfile.txt

于 2013-03-25T23:18:48.173 に答える