我正在尝试构建一个 shell 脚本,该脚本在执行时可以将网站的 url 提取到文本文件中,以便我可以使用该文本文件作为 wget 的输入
问问题
787 次
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 回答