【发布时间】:2011-01-24 15:35:55
【问题描述】:
如何使用 sed 替换这一行
char * path_list_[1] = { "/some/random/path" };
用这条线
char * path_list_[2] = { "lib/foo", "lib/bar" };
在名为 source.c 的文件中
注意事项:
* 路径真的很随机。
* 您的解决方案应该只更改 source.c 中的这一行
* 我只对 sed oneliner 感兴趣。
您可以使用这个 Python 正则表达式作为起点:
text = re.sub('static const char \* path_list_\[1\] = \{ "[^"]*" \};',
'static const char * path_list_[2] = { "lib/sun", "lib/matlab" };', text)
【问题讨论】:
-
如果 1 个文件中只有 1 行,那么手动替换
path_list_比等待 7 天获得最佳答案要高效得多。 :)