1

我正在尝试构建一个 shell 脚本,该脚本在执行时可以将网站的 url 提取到文本文件中,以便我可以使用该文本文件作为 wget 的输入

4

1 回答 1

0

这是 Firefox 的简单解决方案:

Firefox 会在您每次访问旧的或新的 url 时更新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 回答