免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1511 | 回复: 2
打印 上一主题 下一主题

对源码中的字符串进行处理,自动生成文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-26 17:35 |只看该作者 |倒序浏览
请教一个问题,我在一个头文件中定义了许多宏,在.c文件中将这些宏的值一个个赋给结构体变量,现在我想再用shell脚本自动生成一个.c文件,将这些宏全部变成字符串,这样我在程序中就可以打印各个宏的名字以及宏的值了。
例如:
(假设str_a和str_b都是已定义好的结构体,AB_C,D_EF等是已定义好的宏,由字母,下划线,连接符组成)
1.c
......
str_a A=
{
    {AB_C,
    D_EF,
     -1},

    {HI-C,
     J_KL-D,
    -1}
};

写个shell脚本自动生成 2.c
......
str_b B=
{
    {"AB_C",
    "D_EF",
     NULL},

    {"HI",
     "J_KL",
    NULL}
};


Thank you very much!

[ 本帖最后由 flywithyou 于 2008-8-27 15:55 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-08-27 16:31 |只看该作者
不知这个是不是你要的
sed '/^str_a A=$/y/aA/bB/;/^{/,/^}/{s/-[A-Z]\+//;s/[A-Z_]\+/"&"/g;s/-1/NULL/g}'

论坛徽章:
0
3 [报告]
发表于 2008-08-27 17:22 |只看该作者

回复 #2 爱知 的帖子

恩,好似有些小小的语法错误在里边,我再看看。非常谢谢你!
我得再细致的看看推荐的shell基础十二篇,中间那一串匹配,个别特殊字符还不是很清楚。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP