我已经多次尝试在两种html模式之间获取数字。sed
和awk
都不适合我,因为互联网上的例子太容易适合我的任务。
这是我要过滤的代码:
....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 标记之间的文本