【发布时间】:2013-03-09 14:51:24
【问题描述】:
我正在尝试更好地学习awk 和sed,以便能够在不需要PHP、Perl 等东西的情况下创建交叉兼容的终端工具。我现在正在尝试清理一个很长的字符串,它基本上是我使用curl 获取的 HTML 文档的一部分。我想知道解决这个问题的最佳方法。
我发现的大多数解决方案都依赖于静态文件或结构等奢侈品,但是当我试图清理获取的 HTML 代码时,我希望能够假设字符串的“外围”可以改变很多,无论是大小还是结构。所以我认为我需要做的基本上是识别 HTML 标签,因为这些标签可能不会改变,并从这些 HTML 标签中提取数据,无论它们在哪里。一个例子可能是这样的:
<span class="unique-class">Payload</span>
我需要能够查找整个 HTML 标记,当找到它时,我需要提取 > 之后的所有内容,直到找到 < 并开始另一个标记。
由于我的原始代码基本上是无用的,因为它只是 greps 行匹配某些单词(可能出现在同一页面上非有趣实例中的单词),我真的对任何事情持开放态度。
【问题讨论】:
-
您不想为此使用
sed或awk。看 [x]html 解析,尝试用正则表达式来做是错误的做法,它可以send you crazy -
感谢@sudo_O 提供该链接,我现在知道为什么我在让它工作时遇到这样的问题 :)
-
根据上面的评论,我现在已经开始(尝试)学习 Perl。谢谢:)
标签: html string parsing sed awk