Filtra a saída do grep

0

Usando grep "val" index.php , obtenho a lista

<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>

Gostaria de filtrar e obter apenas o valor do primeiro td , isto é, 7.6 e salvá-lo para usar mais tarde com echo .

Esse valor pode mudar, por isso grep "7.6" não é bom.

(!) A linha em php contendo essa tag é a linha 42. Uma solução sem essa informação poderia ser melhor, pois o número da linha poderia mudar. Mas por um tempo, usar seu número pode ser uma solução temporária.

Eu procurei uma solução, mas só encontrei as complexas.

    
por Sigur 18.04.2015 / 13:38

1 resposta

1

Usando o (gnu) grep:

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

grep -m1 -oP 'class=val>\s*\K[0-9.]*'        # \cite{Costas)
    
por 18.04.2015 / 13:58