unix - 如何从 grep -A 输出中标记第二行
问题描述
我正在尝试过滤 html 文件以仅从文件中获取特定值。该文件是来自 metatrader 的 html 报告,我想只过滤 html 中的输出值表。
这是 html 文件的示例(report2.html)
<tr align="right">
<td nowrap colspan="3">Net profit:</td>
<td nowrap><b>17.74</b></td>
<td nowrap colspan="3">Balance Drawdown Absolute:</td>
<td nowrap><b>0.97</b></td>
<td nowrap colspan="3">Absolute equity drawdown:</td>
<td nowrap colspan="2"><b>1.39</b></td>
</tr>
<tr align="right">
<td nowrap colspan="3">Gross Profit:</td>
<td nowrap><b>43.91</b></td>
<td nowrap colspan="3">Balance Drawdown Maximal:</td>
<td nowrap><b>6.72 (0.07%)</b></td>
<td nowrap colspan="3">Equity Drawdown Maximal:</td>
<td nowrap colspan="2"><b>8.02 (0.08%)</b></td>
</tr>
<tr align="right">
<td nowrap colspan="3">Gross Loss:</td>
<td nowrap><b>-26.17</b></td>
<td nowrap colspan="3">Relative balance drawdown:</td>
<td nowrap><b>0.07% (6.72)</b></td>
<td nowrap colspan="3">Relative equity drawdown:</td>
<td nowrap colspan="2"><b>0.08% (8.02)</b></td>
</tr>
如果我使用
grep --no-group-separator -A1 awdown report2.html | sed -n '/^$/!{s/<[^>]*>//g;p;}'
我得到以下信息。
Balance Drawdown Absolute:
0.97
Absolute equity drawdown:
1.39
Balance Drawdown Maximal:
6.72 (0.07%)
Equity Drawdown Maximal:
8.02 (0.08%)
Relative balance drawdown:
0.07% (6.72)
Relative equity drawdown:
0.08% (8.02)
问题是我需要在带有选项卡的第一行之后有第二行,我不知道如何制作它,并且还需要在第一个选项卡中包含文件名。
预期的输出是这样的:
report2.html Balance Drawdown Absolute: 0.97
report2.html Absolute equity drawdown: 1.39
report2.html Balance Drawdown Maximal: 6.72 (0.07%)
report2.html Equity Drawdown Maximal: 8.02 (0.08%)
report2.html Relative balance drawdown: 0.07% (6.72)
report2.html Relative equity drawdown: 0.08% (8.02)
任何人都可以帮助我如何实现这个输出?
谢谢
解决方案
试试下面的:
grep --no-group-separator -A1 awdown report2.html | sed -n '/^$/!{s/<[^>]*>//g;p;}' | sed '$!N;s/\n//'
我只是在你之后添加了另一个流编辑命令
推荐阅读
- python - PyQt5 运行默认组合框选择的插槽
- vbscript - 从平面文件中提取特定子字符串后的数字
- ios - UIView 阴影太定义
- mysql - 删除已删除图像的图像 ID
- php - 使用 Ajax 时内容未显示在我的社交媒体网站项目中
- java - NoSuchMethodError 与 FirebaseDatabase.getInstance()
- javascript - A-frame AR的屏幕按钮
- java - 如何在没有 maven 依赖的情况下使用 Mockito
- python - 我正在尝试将前三个高分保存到单独的 txt 文件中
- azure - 使用 Arm 模板重新生成存储帐户密钥