Com o comando grep:
grep -oP 'sum=\K.*' inpufile > outputfile
O parâmetro grep com -P
(perl-regexp) suporta \K
, que é usado para ignorar os caracteres previamente correspondidos.
Com o comando awk:
awk -F"=" '{print $NF}' inputfile > outputfile
O awk NF
fornece o número total de campos em um registro / linha. Então, o último valor é o último número de campo em um registro / linha.
Com o comando sed:
sed 's/^.*sum=//' inpufile > outputfile
^.*=sum
substitui todos os caracteres ( .*
) entre o início da linha ( ^
) e os últimos caracteres ( sum=
) com o espaço em branco char.
Resultado:
-6.97168e-09
6.97168e-09
-5.12623e-12
5.12623e-12
-6.936e-09
6.97169e-09
-5.1e-12
5.12624e-12
Se você quiser salvar cada valor em um arquivo separado, use os comandos acima em um loop while:
while read line; do
echo "$line" | grep -oP 'sum=\K.*' > $(echo "$line" |awk '{print $2}');
#echo "$line" | awk -F"=" '{print $NF}' > $(echo "$line" |awk '{print $2}');
#echo "#line" | sed 's/^.*sum=//' > $(echo "$line" |awk '{print $2}');
done < file