【发布时间】:2016-09-20 14:38:24
【问题描述】:
好吧,我不知道该怎么做。
我有一个看起来像这样的 FileA:
([7]RIMS_ID) : "CNR"
(refGain_A[7]) : 1
(RIMSclockBias_A[7]) : -398015316.7
(RIMSclockDrift_A[7]) : -6442.29
(RIMSclockSigma_A[7]) : .01
(RIMSclockSigY_A[7]) : 0
([8]RIMS_ID) : "ABS"
(refGain_A[8]) : 1
(RIMSclockBias_A[8]) : -374515458
(RIMSclockDrift_A[8]) : -6442.29
(RIMSclockSigma_A[8]) : .01
(RIMSclockSigY_A[8]) : 0
以此类推,[index] 从 0 到 71,每个站都有不同的 ID。
我想用我在另一个文件 B 上的值替换每个站的 RIMSclockBias_A 字符串对应的值,如下所示:
CNR -44163754.49
ABS 3417370.112
...
所以有:
([7]RIMS_ID) : "CNR"
(refGain_A[7]) : 1
(RIMSclockBias_A[7]) : -44163754.49
(RIMSclockDrift_A[7]) : -6442.29
(RIMSclockSigma_A[7]) : .01
(RIMSclockSigY_A[7]) : 0
([8]RIMS_ID) : "ABS"
(refGain_A[8]) : 1
(RIMSclockBias_A[8]) : 3417370.112
(RIMSclockDrift_A[8]) : -6442.29
(RIMSclockSigma_A[8]) : .01
(RIMSclockSigY_A[8]) : 0
我可以使用 for 循环中的 grep 和 awk 的组合来隔离 fileA 中的正确字段,但我不知道如何替换文件本身中的值。 也许我应该使用 Perl,但我没有任何经验。 任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: linux awk scripting text-processing