perl 脚本实现简单搜索修改文件并生成diff文件
来源:互联网 发布:fiio music 软件 编辑:程序博客网 时间:2024/06/04 18:58
在已有代码上修改代码一般要生成diff文件来生成patch,从而porting到相关baseline上。
修改文件较少时可以一个个来生成,但是当修改文件较多时就会很耗费工时,所以就想
写一个脚本来减少工时消耗。你只需要关注coding,而不必担心diff文件的生成。
实现的思想只要是:首先搜索以".orig"结尾的文件(这可以通过vim中设置来自动生成),
然后截断.orig来获得修改后的文件。从而生成已"*.diff"结尾的diff文件也可以成为patch。
当把这三个相关文件复制到一个专门存放code文件夹中时,要考虑在coding文件夹中创建
相关目录,目录只能是一级一级创建。所以要用到split来分割。
具体实现如下:
#!/usr/bin/perl# create a direction to save coding files$code = "./coding";if(-d $code){ print "Direction $code already existed. Remove it\n"; `rm -rf $code`;}print "create $code direction\n";`mkdir $code`;#Find orig file and modifed file for mkdir diff fileforeach $orig_file_name (`find . -name "*.orig" -size +0c`){chomp ($orig_file_name);$file_name = substr($orig_file_name, 0, index($orig_file_name, ".orig"));if(-f $file_name){$diff_file_name = $file_name.".diff";print "find $file_name\n";print "find $orig_file_name\n";print "create $diff_file_name\n";`diff -c $orig_file_name $file_name > $diff_file_name`;@dTree = split(/\//, $orig_file_name);$a = @dTree;$d = $code;for($i = 1; $i < $a - 1; $i++){$d = "$d/$dTree[$i]";`mkdir $d`;}print "create $d\n";print "copy $file_name, $orig_file_name, $diff_file_name to $d\n";`cp $file_name $d`; `cp $orig_file_name $d`; `cp $diff_file_name $d`;}}
- perl 脚本实现简单搜索修改文件并生成diff文件
- perl脚本实现批量生成手机号码存放到文件中
- git diff 查看文件修改
- 简单实现C#生成Excel 2007文件并下载
- perl 修改文件内容
- perl 生成文件
- Perl生成excel文件
- 使用 diff 查找文件的差异并生成补丁文件修补
- 用Perl来分析并生成中文Excel文件
- perl简单读写文件
- 一个简单的实现复制文件并修改文件扩展名的小程序
- 通过winscp实现一键修改多台机器文件,并执行相应命令的脚本
- 使用diff和patch修改文件
- perl比较文件数据是否相同(Algorithm::Diff模块)
- perl修改文件的方法
- perl-批量修改文件后缀名
- 简单文件搜索器的实现
- WEB前端 实现生成文件 并下载
- (转)深拷贝与浅拷贝探析
- Hibernate 关系映射
- Enemy is weak 树状数组
- 节点的removeChild和addChild使用注意点
- ObjectType HOOK干涉注册表操作
- perl 脚本实现简单搜索修改文件并生成diff文件
- Quoted-Printable编码
- linux下光标定位和清屏函数
- tomcat工程发布的xml文件格式
- 自增操作符重载
- java#4 控制线程(join),后台线程,线程睡眠(sleep),线程让步(yield),线程优先级
- df、du、fdisk:Linux磁盘管理三板斧的使用心得
- BT5 U盘制作方法
- [SqlServer]用户注册、登录、修改密码存储过程实例