如何使 .log 文件中的链接可点击?

如何使 .log 文件中的链接可点击?

我有一个 python 脚本,用于记录要动态生成的 URL。我希望能够cat logfile.log看到日志的输出,然后能够单击这些链接,而不是将它们复制/粘贴到我的浏览器窗口中。如果我编写一个 shell 脚本,或者如果我只通过 cat/head/tail 运行它,这是否可行?

答案1

使链接可点击。日志文件,您需要创建一个日志文件.html文件格式。作为 python 日志模块的灵感来自log4j。 有一个HTML布局在 log4j 日志模块中。

但要做到这一点,您必须非常了解 Python 格式,并且还要学习如何编写自己的格式。如果您已经知道如何编写自己的格式,那么将 .log 文件格式化为 .html 文件会更容易。我找到了一个主题表单,您可以在其中了解如何以 HTML 格式格式化日志文件,或为日志文件输出着色。请访问此线

答案2

cat urls.log | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort | uniq > myurls.txt

输出结果为:

pi@berry:~s$ cat urls.html | grep -Eo "(http|https)://[\da-z./?A-Z0-9\D=_-]*" | uniq
http://schema.org/WebPage
http://www.google.com/imghp?hl=en
http://maps.google.com/maps?hl=en
https://play.google.com/?hl=en
http://www.youtube.com/?tab=w1
http://news.google.com/nwshp?hl=en
https://mail.google.com/mail/?tab=wm
https://drive.google.com/?tab=wo
http://www.google.com/intl/en/options/
http://www.google.com/history/optout?hl=en
https://accounts.google.com/ServiceLogin?hl=en
http://www.google.com/
https://www.google.com/culturalinstitute/project/the-holocaust?utm_source=google
https://plus.google.com/116899029375914044550
  • 解释:
    • grep -E :与 egrep 相同
    • grep -o :仅输出已 grep 的内容
    • (http|https) :是“或”
    • az :全部小写
    • AZ :全部大写
    • . : 是点
    • \?: 是 ?
    • *:是重复[...]组
    • uniq :将删除所有重复项

将其放入 bash 中

#!/bin/sh
echo '---------------------------------------------'
echo 'Now starting'
echo '---------------------------------------------'


while read p;
  do   x-www-browser "$p";
done < myurls.txt

bash 应该为每个 URL 源打开一个新选项卡:

答案3

事实证明,通过谷歌搜索我找到了我想要的答案:

摘自 Stack Overflow 上的这个问题

Tl;dr - 取决于您的终端仿真器。我使用的是 OSX。这对我来说有效:

OSX Lion 之前版本:

cmd+ shift+双击 Terminal.app 中的 URL,它将在默认程序中打开。

OSX Lion:

cmd+双击(否则您将进入全屏模式)。

相关内容