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

标签 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。

最佳答案

您可以使用此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

关于linux - 在 Shell 脚本/Linux 中解析非结构化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840147/

相关文章:

linux - 如何从 bash 在 Linux screen 中创建附加终端

java - 无法从 java 运行 shell 脚本

linux - 一次性创建多个文件夹及其子文件夹

python - 检查 R 是否从 python 安装

c - Shellscript和C程序之间的同步

php - 如何使用 exec 命令支持 PHP 变量?

bash - 读取行号指定的两行之间的行

使用 strcat 和 realloc 的串联产生意外错误

linux - bash 脚本无法要求确认

java - 在 ubuntu 16.04 上安装 TWS