Sed是个好东西
2016-01-08 19:26
253 查看
今天遇到的源码使用了变态的宏,直接对参数进行宏处理,使得我的vim插件几乎全废,只能想办法将宏给替换进去。
#!/bin/bash find . -type f -name '*.c' | xargs sed -i 's/.P1(\(.*\),\(.*\))/(\1 \2)/g' find . -type f -name '*.c' | xargs sed -i 's/.P2(\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4)/g' find . -type f -name '*.c' | xargs sed -i 's/.P3(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6)/g' find . -type f -name '*.c' | xargs sed -i 's/.P4(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6,\7 \8)/g' find . -type f -name '*.c' | xargs sed -i 's/.P5(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6,\7 \8,\9 \10)/g' find . -type f -name '*.c' | xargs sed -i 's/.P6(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6,\7 \8,\9 \10,\11 \12)/g' find . -type f -name '*.c' | xargs sed -i 's/.P7(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6,\7 \8,\9 \10,\11 \12,\13 \14)/g' # 去掉PROT find . -type f -name '*.c' | xargs sed -i 's/PROT((\(.*\)))/(\1)/g'
相关文章推荐
- 寻找最大数 OJ 448
- CollectionView和layout的使用,瀑布流
- html屏蔽鼠标右键
- 线上性能问题初步排查方法
- OC语法之多态
- 【iOS】Quartz 2D绘制直线/长方形/椭圆/圆形
- [转载]AxureRP学习成长之路
- UITableView、 UITableViewCell
- myeclipse热部署
- Tomcat7.0.26的连接数控制bug的问题排查
- Oracle12c中性能优化增强新特性之数据库智能闪存
- VS项目属性的一些配置项的总结(important)
- 【BZOJ 1503】 郁闷的出纳员
- UIViewController中各方法调用顺序及功能详解
- android:制作 Nine-Patch 图片
- CentOS 64位上编译 Hadoop 2.6.0
- python--列表生成式--8
- Android插件化(三):加载插件apk中的Resource资源
- Matlab—matlab的下载与安装
- 2016-01-08 FFC