【发布时间】:2011-10-31 20:58:16
【问题描述】:
所以我有一个庞大的代码库,需要添加一个命名空间。我没有手动执行此操作,而是考虑使用 grep、xargs 和 sed 将命名空间添加到所有源文件...
但我的技能达不到标准。 理想
namespace foo
{
将在所有包含之后添加,并在 .h 文件中的 #endif 之后添加“}”。
对于 .cpp 文件,在所有包含之后添加“使用命名空间 foo”就足够了。
我一直在玩 sed,但还没有走多远。
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
我建议您使用像 Ruby 这样的脚本语言和正则表达式来完成这项工作。根据您的要求和一些 Ruby 示例的谷歌搜索,您可以在 30 分钟到 1 小时内完成此脚本。您可以使用rubular.com 来测试您的正则表达式。 FWIW,我刚刚编写了一个 Ruby 脚本来查找所有 .hpp 和 .cpp 文件之间的命名空间/模块依赖关系 - 使用正则表达式编写了大约一个小时。
-
sed 是早期的程序之一,它将正则表达式的使用作为其处理文本的主要工具。祝大家好运。