【发布时间】:2016-07-22 08:43:15
【问题描述】:
我想使用 sed 转换文件。源文件具有以下格式('deviceId' 是占位符):
CREATE DATABASE "deviceId";
column value=88i 1445137680000000000
column value=68i 1445137620000000000
column value=80i 1445137560000000000
column value=39i 1445137500000000000
转换后,格式如下:
USE DATABASE "db";
series,device=deviceId column=88i 1445137680000000000
series,device=deviceId column=68i 1445137620000000000
series,device=deviceId column=80i 1445137560000000000
series,device=deviceId column=39i 1445137500000000000
但我不明白,如何在每一行中获取 deviceId。我当前的sed.txt 包含以下代码:
s/^\(CREATE DATABASE ".*";\)$/USE DATABASE "db";/g
s/\(.*\) .*=\(.*\) \(.*\)/series,device= \1=\2 \3/g
并生成以下输出:
USE DATABASE "db";
series,device= column=88i 1445137680000000000·
series,device= column=68i 1445137620000000000
series,device= column=80i 1445137560000000000
series,device= column=39i 1445137500000000000
有人可以解释我如何在每一行中获取 deviceId 吗?我已经看到了使用 Hold-Space/Flow-Work 的可能性。我已经尝试过了,但我不明白这应该如何工作。
谢谢!
【问题讨论】:
-
需要sed吗?