Bash:两个复杂模式之间的内容 - html



我已经多次尝试在两种html模式之间获取数字。sedawk都不适合我,因为互联网上的例子太容易适合我的任务。

这是我要过滤的代码:

....class="a-size-base review-text">I WANT THIS TEXT</span></div> ....

所以我需要一个输出的命令:I WANT THIS TEXT ...review-text"></span> 之间

你有线索吗?感谢德国的努力和问候。

这是纯代码

尝试:

tr 'n' ' ' file.html | grep -o 'review-text">[^<>]*</span> *</div>' | cut -d'>' -f2 | cut -d'<' -f 1

如果"我想要这个文本"中没有任何标签,它应该可以工作

假设您要提取的文本不包含<也不包含>,我在这里看不到问题。例如,使用 POSIX 正则表达式:

$ HTML_FILE=/tmp/myfile.html
$ sed -n "s/.*review-text.>([^<]*)<.*/1/gp" $HTML_FILE

打印 HTML 标记之间的文本

最新更新