我有以下代码布局:
#ifndef _file_h_
#define _file_h_
namespace FooBar
{
// code
}
#endif
我想通过 sed 运行它并将 FooBar 命名空间转换为 Foo::Bar 并添加右括号
#ifndef _file_h_
#define _file_h_
namespace Foo { namespace Bar {
// code
}}
#endif
我承认我的正则表达式知识在最好的时候是很差的。
我认为我下面的命令接近于实现我正在寻找的东西,但我得到了一些语法错误。有人可以帮忙吗?
cat file.h | sed -e 's/(.*)namespace FooBar[\s\n]{(.*)}/\1namesapce Foo \{ namespace Bar \{\2\}\}/g' | less