我正在編寫一個perl腳本,它從一個帶有消息定義的文件中提取值並使用它來更新配置文件。Grep:從一個文件中提取數據以更新另一個文件
例如:
消息定義文件(ICD.txt):
MESSAGE: FOO_TELEM
latitude [-90,90]
longitude [-180,180]
MESSAGE: FOO_FREQUENCY
airPressure [0,50]
engineSpeed [0,65500]
凡FOO_TELEM消息成員範圍-90北緯90和經度與範圍-180至180
配置文件(CONFIG.TXT):
MessageTable
Message FOO_TELEM
Member latitude DOUBLE End-Member
Member longitude DOUBLE End-Member
End-Message
Message FOO_FREQUENCY
Member airPressure ULONG End-Member
Member engineSpeed ULONG End-Member
End-Message
End-MessageTable
我希望能夠upda忒與包含在消息定義文件(ICD.txt)的約束值的配置文件(CONFIG.TXT),這樣的結果是這樣的:
更新配置文件(CONFIG.TXT):
MessageTable
Message FOO_TELEM
Member latitude DOUBLE CONSTRAINT -90 90 End-Member
Member longitude DOUBLE CONSTRAINT -180 180 End-Member
End-Message
Message FOO_FREQUENCY
Member airPressure ULONG CONSTRAINT 0 50 End-Member
Member engineSpeed ULONG CONSTRAINT 0 65500 End-Member
End-Message
End-MessageTable
我試過各種形式的grep來獲得我需要的結果,但一直不成功。任何建議將不勝感激。我接受任何涉及grep,sed和/或perl的解決方案。
會正則表達式的工作? –