是否可以在我匹配<strong
&gt;的位置指定一系列数字(1-31)标签?输出中的标记显示为:<strong>21. Infinite Safari Balls</strong>
。
被修改
#!/bin/bash
wget -q -O - 'goo.gl/vfYA94' | \
sed -En '/<strong>([1-9]|[12][0-9]|3[01])/,/<\/blockquote>/p' | \
sed -e :a -e 's/<[^>]*>//g;/</N;//ba'
答案 0 :(得分:0)
根据我的理解,你想要打印出第一行有文本<strong>NN.
的行块,其中NN是1到31之间的数字,并且停止下一行包含{{1 }}。 </blockquote>
对数字没有很好的理解,但你可以用正则表达式达到你想要的效果:
sed
为了减少正则表达式中反斜杠的数量,我使用wget -q -O - 'goo.gl/vfYA94' | sed -En '/<strong>([1-9]|[12][0-9]|30|31)\./,/<\/blockquote\>/p'
选项来扩展正则表达式。 -E
选项在Mac OSX和GNU / Linux上均可识别,尽管-E
的GNU版本仅记录sed
用于此目的。