【发布时间】:2015-09-09 23:35:49
【问题描述】:
这有点复杂,我认为是..
我有两个文件,文件 A 和文件 B
文件 A 包含引脚的延迟信息,格式如下
AD22 15484
AB22 9485
AD23 10945
文件 B 包含需要添加此信息的组件声明,格式为:
'DXN_0':
PIN_NUMBER='(AD22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)';
'DXP_0':
PIN_NUMBER='(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,AD23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)';
'VREFN_0':
PIN_NUMBER='(AB22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)';
所以我想要实现的是以下输出
'DXN_0':
PIN_NUMBER='(AD22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)';
PIN_DELAY='15484';
'DXP_0':
PIN_NUMBER='(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,AD23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)';
PIN_DELAY='10945';
'VREFN_0':
PIN_NUMBER='(AB22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)';
PIN_DELAY='9485';
文件A或B中的pin编号没有顺序
所以我假设需要发生以下情况
- 打开文件 A,读取第一行
- 在文件 B 中搜索刚刚读取的行中的第一个字符串字段
- 在文件 B 中找到后,在行尾添加文本“\nPIN_DELAY='”
- 添加从文件A读取的行的第二个字符串字段
- 在“';”末尾添加以下文本
- 重复打开文件A,读取第二行
我假设它将是 sed 和 awk 命令的组合,我目前正在尝试解决它,但我认为这超出了我的知识范围。非常感谢,因为我知道这很复杂..
【问题讨论】:
-
展示你的一些努力会很有趣。 Not very long ago我发布了您的问题的答案,给出了一些全面的解释,这可能是一个很好的起点。