gpt4 book ai didi

html - Linux中的Linkify文本文件

转载 作者:行者123 更新时间:2023-12-03 09:55:13 30 4
gpt4 key购买 nike

我已经解析了包含文本文件中的url的所有行以及附加的换行符,并且我想使链接在新文件中可单击。
如何使用标准linux工具(最好是awk)仅在URL周围附加<a href> -tags?
它需要在cron中可以自动化。
例如,
源文件 chaturls.txt :

    12:30 <user> check this: https://link.to/stuff.jpg</br>
13:47 <user4> https://another.link.lol eyyyy</br>
新文件 chatlinkified.html 中所需的输出:
12:30 <user> check this: <a href='https://link.to/stuff.jpg'>https://link.to/stuff.jpg</a></br>
13:47 <user4> <a href='https://another.link.lol'>https://another.link.lol</a> eyyyy</br>
我尝试了 awk '{printf "<a href=\"%s\">%s</a><br>", $0,$0}' chaturls.txt > chatlinkified.html,但这使整行成为(无效)可点击的链接。

最佳答案

sed -E 's@(https?://[^[:space:]/$.?#].[^[:space:]<]*)@<a href="\1">\1</a>@g' chaturls.txt > chatlinkified.html
您可以使用sed并通过 \1返回匹配的组。注意在这里,我用@代替/分开(如s/../../g),您可以随意使用任何字符,这样可以节省一些转义符。
用于查找URL的正则表达式会对https?://之后的第一个字符进行一些验证检查,然后继续进行匹配,直到空格或另一个标签的开头括号为止。
如果您想对网址使用更简单的正则表达式,例如 https?://[^ ]*)注释之一中给出的,它不包含这种小的验证,则可以。
您可以在此处找到更广泛的经过验证的url正则表达式: https://mathiasbynens.be/demo/url-regex(但必须从PHP regex转换为sed扩展正则表达式)

关于html - Linux中的Linkify文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63956226/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com