Usando sed
Aqui está uma maneira:
$ sensors -Af | sed -n '2{s/°.*//; s/[^+-]*//; p; q}'
+105.8
Ou usando o mesmo comando dentro da substituição de comandos para capturar sua saída em uma variável:
temp=$(sensors -Af | sed -n '2{s/°.*//; s/[^+-]*//; p; q}')
s/°.*// remove a primeira ocorrência do símbolo de grau, ° e tudo depois dele. s/[^+-]*// remove tudo, mas não inclui o primeiro + ou - .
Usando o awk
$ sensors -Af | awk 'NR==2{print $3+0; exit;}'
105.8
O número que queremos está no terceiro campo. Como o terceiro campo contém caracteres, por exemplo, +105.8°F , adicionamos 0 a ele. Isso força o awk a convertê-lo para o que queremos: um número.