【发布时间】:2022-12-14 06:21:15
【问题描述】:
假设有一个文本文件test.txt。它包含文本和资源链接,例如https://example.com/kqodbjcuic49w95rofwjue。我怎样才能从那里只提取这些链接的列表? (最好通过 bash,但不是必需的)
我试过这个解决方案:
sed 's/^.*href="\([^"]*\).*$/\1/'
但这对我没有帮助。
【问题讨论】:
-
你能展示来自
test.txt的示例数据和你的预期输出吗
假设有一个文本文件test.txt。它包含文本和资源链接,例如https://example.com/kqodbjcuic49w95rofwjue。我怎样才能从那里只提取这些链接的列表? (最好通过 bash,但不是必需的)
我试过这个解决方案:
sed 's/^.*href="\([^"]*\).*$/\1/'
但这对我没有帮助。
【问题讨论】:
test.txt 的示例数据和你的预期输出吗
grep -o "((?:(?:http|ftp|ws)s?|sftp)://?)?([^:/s.#?]+.[^:/s#?]+|localhost)(:d+)?((?:/w+)*/)?([w-.]+[^#?s]+)?([^#]+)?(#[w-]*)?" test.txt
将显示文件中的所有 URL。
(正则表达式来自 BSimjoo 的链接)
Grep 文本文件指南https://www.linode.com/docs/guides/how-to-grep-for-text-in-files/
【讨论】: