文件处理方法技术

技术编号:39598222 阅读:12 留言:0更新日期:2023-12-03 19:57
本发明专利技术公开了文件处理方法

【技术实现步骤摘要】
文件处理方法、装置、电子设备和计算机可读介质


[0001]本专利技术涉及自动程序设计
,尤其涉及一种文件处理方法

装置

电子设备和计算机可读介质


技术介绍

[0002]在软件开发和维护过程中,经常需要对大量的文件进行扫描

检测和修改

特别是在数据库迁移或语法转换的场景中,需要将某种数据库的代码转换成另一种数据库的代码,如将
Oracle SQL
语句转换成
MySQL SQL
语句

[0003]传统的方法是通过人工方式逐个对文件进行查找和修改,这种方式主要存在以下技术问题:
[0004]1、
处理大量文件时工作量非常庞大,需要耗费较长时间,导致工作效率低下

[0005]2、
准确性难以保证:人工处理容易出错,可能会漏掉某些文件或内容,造成处理的不准确性

[0006]3、
缺乏灵活性和定制性:现有工具
(

sed

grep)
虽然能进行文本处理,但对于特定规则的匹配

替换和记录功能有限,无法灵活加载配置文件和调用函数


技术实现思路

[0007]有鉴于此,本专利技术实施例提供一种文件处理方法

装置

电子设备和计算机可读介质,以解决效率低下

作量大而且容易出错的技术问题

[0008]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种文件处理方法,包括:
[0009]从管理平台获取最新版本的配置文件,并将所述配置文件存储至本地;其中,所述配置文件包括规则文件和函数文件,所述规则文件包括至少一条规则,所述规则包括正则表达式

替换内容或者正则表达式

替换内容

函数名,所述函数文件包括至少一个函数;
[0010]扫描文件并采用所述正则表达式从所述文件中匹配出待替换内容以及所述待替换内容在所述文件中的位置;
[0011]判断是否需要调用函数;若否,则以所述替换内容替换所述待替换内容;若是,则调用所述函数文件中所述函数名对应的函数,并以所述替换内容和所述函数的返回值替换所述待替换内容

[0012]可选地,调用所述函数文件中所述函数名对应的函数,并以所述替换内容和所述函数的返回值替换所述待替换内容,包括:
[0013]从所述替换内容中提取出捕获组,调用所述函数文件中所述函数名对应的函数并将所述捕获组作为所述函数的参数,从而得到所述函数的返回值;
[0014]以所述函数的返回值替换所述替换内容中的捕获组,从而得到更新后的替换内容;
[0015]以所述更新后的替换内容替换所述待替换内容

[0016]可选地,所述规则还包括直接替换标识和替换建议;
[0017]以所述替换内容替换所述待替换内容,包括:
[0018]判断所述直接替换标识是否为真;
[0019]若是,则以所述替换内容替换所述待替换内容,并将所述待替换内容在所述文件中的位置

所述待替换内容和所述替换内容保存到日志文件中;
[0020]若否,则将所述待替换内容在所述文件中的位置

所述待替换内容

所述替换内容和所述替换建议保存到日志文件中

[0021]可选地,所述规则还包括直接替换标识和替换建议;
[0022]以所述更新后的替换内容替换所述待替换内容,包括:
[0023]判断所述直接替换标识是否为真;
[0024]若是,则以所述更新后的替换内容替换所述待替换内容,并将所述待替换内容在所述文件中的位置

所述待替换内容和所述更新后的替换内容保存到日志文件中;
[0025]若否,则将所述待替换内容在所述文件中的位置

所述待替换内容

所述更新后的替换内容和所述替换建议保存到日志文件中

[0026]可选地,判断是否需要调用函数,包括:
[0027]对于每条规则,判断所述规则中是否配置了函数名,从而判断是否需要调用函数

[0028]可选地,所述方法还包括:
[0029]更新本地的所述配置文件中的所述规则文件和
/
或所述函数文件;
[0030]将更新后的所述配置文件上传至所述管理平台,作为最新版本的配置文件

[0031]可选地,从管理平台获取最新版本的配置文件,并将所述配置文件存储至本地,包括:
[0032]从管理平台获取配置文件的版本号,将从所述管理平台获取的配置文件的版本号与存储在本地的配置文件的版本号进行比较,判断所述存储在本地的配置文件是否为最新版本;
[0033]若否,则从所述管理平台获取最新版本的配置文件,并将所述最新版本的配置文件存储至本地

[0034]另外,根据本专利技术实施例的另一个方面,提供了一种文件处理装置,包括:
[0035]获取模块,用于从管理平台获取最新版本的配置文件,并将所述配置文件存储至本地;其中,所述配置文件包括规则文件和函数文件,所述规则文件包括至少一条规则,所述规则包括正则表达式

替换内容或者正则表达式

替换内容

函数名,所述函数文件包括至少一个函数;
[0036]扫描模块,用于扫描文件并采用所述正则表达式从所述文件中匹配出待替换内容以及所述待替换内容在所述文件中的位置;
[0037]处理模块,用于判断是否需要调用函数;若否,则以所述替换内容替换所述待替换内容;若是,则调用所述函数文件中所述函数名对应的函数,并以所述替换内容和所述函数的返回值替换所述待替换内容

[0038]可选地,所述处理模块还用于:
[0039]从所述替换内容中提取出捕获组,调用所述函数文件中所述函数名对应的函数并将所述捕获组作为所述函数的参数,从而得到所述函数的返回值;
[0040]以所述函数的返回值替换所述替换内容中的捕获组,从而得到更新后的替换内容;
[0041]以所述更新后的替换内容替换所述待替换内容

[0042]可选地,所述规则还包括直接替换标识和替换建议;
[0043]所述处理模块还用于:
[0044]判断所述直接替换标识是否为真;
[0045]若是,则以所述替换内容替换所述待替换内容,并将所述待替换内容在所述文件中的位置

所述待替换内容和所述替换内容保存到日志文件中;
[0046]若否,则将所述待替换内容在所述文件中的位置

本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种文件处理方法,其特征在于,包括:从管理平台获取最新版本的配置文件,并将所述配置文件存储至本地;其中,所述配置文件包括规则文件和函数文件,所述规则文件包括至少一条规则,所述规则包括正则表达式

替换内容或者正则表达式

替换内容

函数名,所述函数文件包括至少一个函数;扫描文件并采用所述正则表达式从所述文件中匹配出待替换内容以及所述待替换内容在所述文件中的位置;判断是否需要调用函数;若否,则以所述替换内容替换所述待替换内容;若是,则调用所述函数文件中所述函数名对应的函数,并以所述替换内容和所述函数的返回值替换所述待替换内容
。2.
根据权利要求1所述的方法,其特征在于,调用所述函数文件中所述函数名对应的函数,并以所述替换内容和所述函数的返回值替换所述待替换内容,包括:从所述替换内容中提取出捕获组,调用所述函数文件中所述函数名对应的函数并将所述捕获组作为所述函数的参数,从而得到所述函数的返回值;以所述函数的返回值替换所述替换内容中的捕获组,从而得到更新后的替换内容;以所述更新后的替换内容替换所述待替换内容
。3.
根据权利要求1所述的方法,其特征在于,所述规则还包括直接替换标识和替换建议;以所述替换内容替换所述待替换内容,包括:判断所述直接替换标识是否为真;若是,则以所述替换内容替换所述待替换内容,并将所述待替换内容在所述文件中的位置

所述待替换内容和所述替换内容保存到日志文件中;若否,则将所述待替换内容在所述文件中的位置

所述待替换内容

所述替换内容和所述替换建议保存到日志文件中
。4.
根据权利要求2所述的方法,其特征在于,所述规则还包括直接替换标识和替换建议;以所述更新后的替换内容替换所述待替换内容,包括:判断所述直接替换标识是否为真;若是,则以所述更新后的替换内容替换所述待替换内容,并将所述待替换内容在所述文件中的位置

所述待替换内容和所述更新后的替换内容保存到日志文件中;若否,则将所述待替换内容在所述文件中的位置

所述待替换内容

所述更新后的替换内容和所述替换建议保存到日志文件中
。5.
根据权利要求1‑4任一项所述的方法,其特征在于,判断是否需要调用函数,包括:对于每条规则,判断所述规则中是否配置了函数名,从而判断是否需要调用函数
。6.
根据权利要求1‑4任一项所述的方法,其特征在于,还包括:更新本地的所述配置文件中的所述规则文件和
/
或所述函数文件;将更新后的所述配置文件上传至所述管理平台,作为最新版本的配置文件
。7.
根据权利要求1‑4任一项所述的方法,其特征在于,从管理平台获取最新版本的配置文件,并将所述配置文件存储至本地,包括:从管理平台获取配置文件的版本号,将从所述管理平台获取的配置文件的版本号与存
储在本地的配置文件的版本号进行比较,判断所述存储在本地的配置文件是否为最新版本;若否,则从所述管理平台获取最新版本的配置文件,并将所述最新版本的配置文件存储至本地
。8.
一种文件处理装置,其特征在于,包括:获取模块,用于从管理平台获取最新版本的配置文件,并将所述配置文件存储至本地;其中,所述配置文件包括规则文件和函数文件,所述规则文件包括至少一条规则,所述规则包括正则表达式

...

【专利技术属性】
技术研发人员:陈攀
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1