Python 如何在shell脚本中打印两行模式之间的数据
我正在使用html2text转换器将html转换为文本。接下来我要做的是-提取两行之间的数据。转换后的html数据如下所示Python 如何在shell脚本中打印两行模式之间的数据,python,html,bash,shell,sh,Python,Html,Bash,Shell,Sh,我正在使用html2text转换器将html转换为文本。接下来我要做的是-提取两行之间的数据。转换后的html数据如下所示 ***** Test Summary ***** tests 18 *class ***** Failed tests ***** Device Class Test Nexus addition generateBill some data ***** Packages ***** Package some dat
***** Test Summary *****
tests 18
*class
***** Failed tests *****
Device Class Test
Nexus addition generateBill
some data
***** Packages *****
Package
some data
***** Classess *****
some data
我想在****失败的测试****和****包之间获取数据*****
生成html2text的命令如下所示
html2text/Path/page.html
我试过了
html2text /Path/page.html | awk '/***** Failed tests *****/,/***** Packages *****/'
但它不起作用除了上面的评论:
$ html2text /Path/page.html | awk '/\*\*\*\*\* Failed tests \*\*\*\*\*/,/\*\*\*\*\* Packages \*\*\*\*\*/'
使用gawk、mawk、busybox awk和原始awk(awk版本20121220)成功测试。令我惊讶的是,它在这里使用GNU awk。那里怎么不工作?当然,正确的语法是通过在每个正则表达式字符前面加上一个
\*
,即../\*\*.…
,来转义正则表达式字符*
。您能给我确切的命令吗?所以我也可以在这里测试,看看你的问题历史,我想你应该检查一下:你的正则表达式是正确的。但在我上面的例子中,命令返回黑色输出。我将html2text/Path/page.html的结果保存在文本文件中,得到了奇怪的输出。它将所有文本进行不同的转换,如******测试摘要******将变成*********TTeesstt SUMMMARRYY***。有些文字变成了“s_o_m_e_d_a_t_a”