Passar por um pouco de regex deve funcionar
sed -r 's/([0-9]+\.[0-9]{2})[0-9]*//' your_file
Para explicar rapidamente, está procurando:
- Um dígito
- Um ponto
- mais 2 dígitos
- Qualquer número de dígitos
E está substituindo tudo isso apenas pelos três primeiros. Essencialmente cortando a última parte.
Esse comando apenas mostrará as mudanças. Adicione um -i
lá se você quiser editar o arquivo diretamente. Se isso não é realmente um arquivo, você pode redirecionar e redirecionar as coisas para sed
também:
$ sed -r 's/([0-9]\.[0-9]{2})[0-9]*//' <<EOF
> [General]
> Date=2016-01-20
> Timestamp=2016-01-20T12:30:00
>
> [Dewpoint]
> Low=-17.7041803458378
> LTime=14:55
> High=-13.1057525836829
> HTime=13:42
>
> [Solar]
> SunshineHours=4.78333333333332
> SunshineHoursToMidnight=0.750000000000001
> EOF
[General]
Date=2016-01-20
Timestamp=2016-01-20T12:30:00
[Dewpoint]
Low=-17.70
LTime=14:55
High=-13.10
HTime=13:42
[Solar]
SunshineHours=4.78
SunshineHoursToMidnight=0.75