过滤 grep 输出

过滤 grep 输出

使用grep "val" index.php我得到列表

<td class=val>   7.6</td>
<td class=val>  58</td>
<td class=val>1013.8 </td>
<td class=val> 1020 </td>
<td class=val>   0.2</td>
<td class=val>   2.4</td>

我想过滤并仅获取第一个的值td,即7.6并将其保存以供以后使用echo

该值可能会改变,所以grep "7.6"不好。

(!)包含该标记的行php是第 42 行。没有此信息的解决方案可能会更好,因为行号可能会更改。但在一段时间内,使用其号码可能是一个临时解决方案。

我寻找解决方案,但只找到了复杂的解决方案。

答案1

使用 (gnu)grep:

grep -m1 -oP '(?<=class=val>).*?(?=</td>)'

grep -m1 -oP 'class=val>\s*\K[0-9.]*'        # \cite{Costas)

相关内容