【发布时间】:2011-05-15 08:28:24
【问题描述】:
我有一个 .h 文件,其中包含这种格式的数据
struct X[]{
{"Field", "value1 value2 value"},
{"Field2", "value11 value12 value232"},
{"Field3", "x y z"},
{"Field4", "a bbb s"},
{"Field5", "sfsd sdfdsf sdfs"};
/****************/
};
我有一个文本文件,其中包含我想在 .h 文件中用新值替换的值
value1 Valuesdfdsf1
value2 Value1dfsdf
value3 Value1_another
sfsd sfsd_ewew
sdfdsf sdfdsf_ew
sdfs sfsd_new
生成的 .h 文件将包含上述文本文件中的替换内容。其他一切都保持不变。
struct X[]{
{"Field1", "value11 value12 value232"},
{"Field2", "value11 value12 value232"},
{"Field3", "x y z"},
{"Field4", "a bbb s"},
{"Field5", "sfsd_ewew sdfdsf_ew sdfs_new"};
/****************/
};
请帮我提供一个解决方案来使用 unix 工具完成它:awk、perl、bash、sed 等
【问题讨论】:
-
字段-值对是否总是在同一行,值是否由单个空格分隔?
-
空格/制表符,至少一个空格是肯定的
-
不应该将第一行中的 value2 替换为 Value1dfsdf 吗?
-
你是对的——它应该是。固定。
-
您的值[123] 在您想要的结果示例中似乎没有被正确替换。