在Shell脚本/ Linux中解析非结构化数据

时间:2015-01-08 12:27:30

标签: linux shell

Example log : "some data7.575=tf.some data2.0=tf.some data1.23=tf.some data.."

I want to get each TF value as output. 
i.e. output should be 
TF=7.575
TF=2.0
TF=1.23

我该如何解析这个?使用Shell脚本(首选)。 Unix命令或使用Java。

1 个答案:

答案 0 :(得分:2)

您可以使用此grep -P命令:

grep -oP '[\d.]+(?==tf\.some)' file
7.575
2.0
1.23

或者使用这个awk:

awk -F 'data|=' '{for(i=2; i<=NF; i+=2) print "TF=" $i}' file
TF=7.575
TF=2.0
TF=1.23