CN104794131B - 一种文件的批量编辑方法及装置 - Google Patents
一种文件的批量编辑方法及装置 Download PDFInfo
- Publication number
- CN104794131B CN104794131B CN201410027633.1A CN201410027633A CN104794131B CN 104794131 B CN104794131 B CN 104794131B CN 201410027633 A CN201410027633 A CN 201410027633A CN 104794131 B CN104794131 B CN 104794131B
- Authority
- CN
- China
- Prior art keywords
- edit
- file
- content
- document
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于信息处理领域,提供了一种文件的批量编辑方法及装置,该方法包括:从需要进行文件编辑的多个文件中选择一个作为第一文件,并对所述第一文件进行编辑处理,得到编辑后的第一文件;将所述第一文件和所述编辑后的第一文件进行对比,获取第一编辑内容;根据所述第一编辑内容提取所述第一编辑内容对应的第一编辑路径;按照第一编辑路径和第一编辑内容对第二文件进行编辑处理,其中所述第二文件为除第一文件以外的其它需要进行文件编辑的多个文件。本发明可以实现文件的批量编辑,提高文件编辑效率,同时可以根据第一编辑路径准确的定位到其他文件中需要进行编辑的位置,保证了文件编辑的准确性。
Description
技术领域
本发明属于信息处理领域,尤其涉及一种文件的批量编辑方法及装置。
背景技术
文件在创建以后,为了满足各种不同的服务需求,存在各种需要对一个或者多个文件进行编辑的场景。以提供文件存储服务或者图片存储服务等的平台服务系统为例,如电信、联通等网络运营商使用的平台服务系统,该平台服务系统会在各种地方部署机房,每个机房中包含至少一台服务器,如电信运营商可能在深圳、武汉等地方部署提供电信服务的机房,联通运营商也可能在深圳、武汉等地方部署提供联通服务的机房。其中电信运营商部署在深圳的机房一般可称为深圳电信,部署在武汉的机房一般可称为武汉电信。联通运营商部署在深圳的机房一般可称为深圳联通,部署在武汉的机房一般可称为武汉联通。在这些机房中的服务器中一般存储有一配置文件,且根据机房的部署地方以及网络运营商的不同,存储在机房的服务器中的配置文件的具体内容可能都不尽相同,此时,就有对该平台服务系统部署在不同地方的机房的服务器中的配置文件进行编辑的需求。
现有技术一般是需要先从各个机房中的服务器中拷贝配置文件,运维人员对每个拷贝的配置文件进行手动编辑处理后,再将配置文件拷贝到对应机房的服务器中。这种方式一次只能对单个配置文件进行编辑处理,难以保证文件编辑处理的效率和正确率。
现有技术为了解决上述问题,提供了一种通过脚本(sed)命令来对文件进行批量编辑的方法,简述如下:运维人员编辑一条sed命令,该sed命令中包含用于指示各服务器如何对文件进行编辑处理的正则表达式。将该sed命令发送至部署在不同位置的机房中的各个服务器,各个服务器根据该sed命令中的正则表达式对各自的配置文件进行编辑处理。这种方法由于可以对文件进行批量处理,因此提高了文件编辑处理的效率。但由于sed命令中的正则表达式难以表达出较为复杂的内容,一般只能表达出第一编辑内容,因此各个服务器在根据sed命令中的正则表达式对各自的配置文件进行编辑处理时,只能将该sed命令中的正则表达式表达出的第一编辑内容对配置文件的全文做编辑处理。这样就有可能对配置文件中不需要做编辑处理的地方也做编辑处理,导致编辑失误,难以保证文件编辑处理的准确性。
请参阅图1,为现有技术提供的采用sed命令对配置文件进行编辑处理的对照图,在图1中,需要将A.conf深圳移动、A.conf深圳电信等配置文件中第六行的conn_port的值由2000改为3000,则只需要编辑一条类似如下形式的sed命令即可:sed–‘s/conn_port=2000/conn_port=3000/g’*.conf,这样就可以一次性将A.conf深圳移动、A.conf深圳电信等配置文件中第六行的conn_port的值由2000改为3000。但请参阅图2,当配置文件(如A.conf深圳电信)的内容较为复杂时,如果需要将图2中的A.conf深圳移动、A.conf深圳电信等配置文件中第六行的conn_port的值由2000改为3000,则还是只能编辑一条类似如下形式的sed命令:sed–‘s/conn_port=2000/conn_port=3000/g’*.conf,此时,由于各服务器是将该sed命令中的正则表达式表达出的第一编辑内容对配置文件的全文做编辑处理,从而通过该sed命令,会将图2中A.conf深圳电信中第10行conn_port的值也由2000改为3000,从而导致编辑失误,难以保证文件编辑处理的准确性。
发明内容
本发明实施例提供一种文件的批量编辑方法及装置,旨在解决文件批量编辑时存在编辑失误,导致批量编辑准确性低的问题。
一方面,提供一种文件的批量编辑方法,所述方法包括:
从需要进行文件编辑的多个文件中选择一个作为第一文件,并对所述第一文件进行编辑处理,得到编辑后的第一文件;
将所述第一文件和所述编辑后的第一文件进行对比,获取第一编辑内容;
根据所述第一编辑内容提取所述第一编辑内容对应的第一编辑路径;
按照第一编辑路径和第一编辑内容对第二文件进行编辑处理,其中所述第二文件为除第一文件以外的其它需要进行文件编辑的多个文件。……
另一方面,提供一种一种文件的批量编辑装置,所述装置包括:
第一编辑单元,用于从需要进行文件编辑的多个文件中选择一个作为第一文件,并对所述第一文件进行编辑处理,得到编辑后的第一文件;
文件对比单元,用于将所述第一文件和所述编辑后的第一文件进行对比,获取第一编辑内容;
编辑路径提取单元,用于根据所述第一编辑内容提取所述第一编辑内容对应的第一编辑路径;
第二编辑单元,用于按照第一编辑路径和第一编辑内容对第二文件进行编辑处理,其中所述第二文件为除第一文件以外的其它需要进行文件编辑的多个文件。
在本发明实施例中,通过首先对多个需要进行编辑处理的多个文件中选择一个进行编辑处理,得到对该文件进行编辑处理的第一编辑内容和第一编辑路径,按照该第一编辑内容和第一编辑路径对其他文件进行编辑处理,从而可以实现文件的批量编辑,提高文件编辑效率,同时由于是按照第一编辑内容和第一编辑路径对其他文件进行编辑处理的,从而可以根据第一编辑路径准确的定位到其他文件中需要进行编辑的位置,保证了文件编辑的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的采用sed命令对配置文件进行编辑处理时编辑前和编辑后的文件对照图;
图2是现有技术提供的采用sed命令对配置文件进行编辑处理时编辑前和编辑后的文件对照图;
图3是本发明实施例提供的文件的批量编辑方法的实现流程图;
图4a是本发明实施例提供的第一文件的示例图;
图4b是本发明实施例提供的编辑后的第一文件的示例图;
图5是本发明实施例提供的图3中的S103的实现流程图;
图6是本发明实施例提供的图3中的S104的实现流程图;
图7a是本发明实施例提供的对文件进行编辑处理前的文件示例图;
图7b是本发明实施例提供的对文件进行编辑处理后的文件示例图;
图8a是本发明实施例提供的第一文件的示例图;
图8b是本发明实施例提供的按照第一编辑内容对图8a所示的第一文件副本第一文件进行编辑处理后得到的第一文件副本的示例图;
图8c是本发明实施例提供的将图8b所示的第一文件副本中记录的行标识之前的所有内容压入数组容器后,该数组容器中内容示例图;
图9是本发明另一实施例提供的文件的批量编辑方法的实现流程图;
图10是本发明实施例提供的文件的批量编辑装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过首先对多个需要进行编辑处理的多个文件中选择一个进行编辑处理,得到对该文件进行编辑处理的第一编辑内容和第一编辑路径,按照该第一编辑内容和第一编辑路径对其他文件进行编辑处理,从而可以实现文件的批量编辑,提高文件编辑效率,同时由于是按照第一编辑内容和第一编辑路径对其他文件进行编辑处理的,从而可以根据第一编辑路径准确的定位到其他文件中需要进行编辑的位置,保证了文件编辑的准确性。
为了使本发明所述的技术方案便于理解,以下先对本发明涉及的技术术语进行解释说明如下:
第一文件,是指从需要进行文件编辑的多个文件中选择出的一个文件。
编辑后的第一文件,是指对第一文件进行编辑处理后所得到的文件。
第二文件,是指除第一文件以外的需要进行文件编辑的每个文件。
编辑后的第二文件,是指对第二文件进行编辑处理后所得到的文件。
第一文件副本,是指第一文件的备份文件。
第二文件副本,是指第二文件的备份文件。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图3示出了本发明实施例提供的文件的批量编辑方法的实现流程,该方法可以适用于任意需要对文件进行批量编辑的场景,详述如下:
S101,从需要进行文件编辑的多个文件中选择一个作为第一文件,并对该第一文件进行编辑处理,得到编辑后的第一文件。
其中需要进行文件编辑的文件是指需要对文件的相同路径下的相同内容作相同编辑处理的所有文件。以网络运营商(如中国电信或者中国移动等)使用的平台服务系统为例,若该平台服务系统部署的机房包括深圳电信、武汉电信、深圳联通、武汉联通,且各个机房对应存储的配置文件为A.conf深圳电信、A.conf武汉电信、A.conf深圳联通、A.conf武汉联通,如果需要对A.conf深圳电信、A.conf武汉电信、A.conf深圳联通、A.conf武汉联通这四个配置文件的相同路径下的相同内容作相同编辑处理时,在需要进行文件编辑的文件包括A.conf深圳电信、A.conf武汉电信、A.conf深圳联通、A.conf武汉联通。
其中编辑后的第一文件是指对第一文件进行编辑处理后得到的文件,举例说明如下:
假设第一文件如图4a所示,则将图4a所示的第一文件的第六行的conn_port=2000修改为conn_port=3000后,得到的编辑后的第一文件如图4b所示。
其中对第一文件进行编辑处理的具体方式可以采用手动编辑处理或者现有的其他编辑处理方式,在此不做限定。
S102,将第一文件和编辑后的第一文件进行对比,获取第一编辑内容。
其中将第一文件和编辑后的第一文件进行对比的具体方式可以采用现有技术提供的任意一种文本对比方式,如可以采用Diff命令来将第一文件和编辑后的第一文件进行对比,得到对比结果,根据对比结果确定第一编辑内容。
其中将第一文件和编辑后的第一文件进行对比时,若对第一文件进行了多个地方的编辑处理,则可以得到多条第一编辑内容。每条第一编辑内容包括行标识、操作类型以及操作内容。其中行标识是指对第一文件进行编辑处理的行的标识。操作类型包括但不限于增加、删除和修改。操作内容是指对第一文件进行编辑处理所涉及的具体的操作内容。举例说明如下:
假设对第一文件进行了如下编辑处理:将第一文件的第六行的conn_port=2000修改为conn_port=3000,并删除了第一文件的第九行的conn_port=2000,则将第一文件和编辑后的第一文件进行对比后,可以得到如下两条编辑内容:(6,修改,conn_port=2000修改为conn_port=3000)以及(9,删除,conn_port=3000)。在第一编辑内容(6,修改,conn_port=2000修改为conn_port=3000)中,行标识为第六行、操作类型为修改,操作内容为conn_port=2000修改为conn_port=3000。在第一编辑内容(9,删除,conn_port=3000)中,行标识为第九行,操作类型为删除,操作内容为conn_port=3000。
S103,根据第一编辑内容提取该第一编辑内容对应的第一编辑路径。
具体的,通过逐条的解析第一编辑内容,提取每条第一编辑内容对应的第一编辑路径。其中根据第一编辑内容提取该第一编辑内容对应的第一编辑路径的具体实现方式可以采用现有技术提供的任意一种方式,还可以采用本发明实施例提供的图5所示的方式,具体参见图5,在此不再赘述。
S104,按照第一编辑路径和第一编辑内容对除第一文件以外的其它需要进行文件编辑的多个文件进行编辑处理。
具体的,针对除第一文件以外的其它需要进行文件编辑的每个文件,定位到该文件中该第一编辑路径对应的位置,对该文件中该第一编辑路径对应的位置的内容按照第一编辑内容进行编辑处理。
其中按照第一编辑路径和第一编辑内容对除第一文件以外的其它需要进行文件编辑的多个文件进行编辑处理的具体过程参见图6,在此不再赘述。
在本发明实施例中,通过对多个文件中的一个文件进行编辑处理,获取第一编辑内容和第一编辑路径,按照该第一编辑内容和第一编辑路径对其他文件进行编辑处理,从而可以实现文件的批量编辑,提高文件编辑效率,同时由于是按照第一编辑内容和第一编辑路径对其他文件进行编辑处理的,从而可以根据第一编辑路径准确的定位到其他文件中需要进行编辑的位置,保证了文件编辑的准确性。
为了使本发明实施例提供的方法更便于理解,请参阅图7a和7b,其中图7a为本发明实施例提供的未进行编辑处理时配置文件的示例图,图7b是采用本发明实施提供的方法对图7a所示的配置文件进行编辑处理后的配置文件示例图。如图7a所示,如果需要将A.conf深圳移动、A.conf深圳电信等配置文件中第六行的conn_port的值由2000改为3000,则可以先从图7a所示的配置文件中选择一个配置文件(假设为A.conf深圳移动),作为第一文件,对该第一文件进行编辑处理,即将该第一文件中第六行的conn_port的值由2000改为3000后,得到编辑后的第一文件。将第一文件和编辑后的第一文件进行对比后,即可获取第一编辑内容为(6,修改,conn_port=2000修改为conn_port=3000)。通过对该第一编辑内容进行解析,可以提取到该第一编辑内容对应的第一编辑路径为“root/tdb_hand/tdb_0”。按照该第一编辑内容和第一编辑路径对图7a中除第一文件以外的其它文件(如A.conf深圳电信等)进行编辑处理,如针对图7a中的配置文件A.conf深圳电信,按照第一编辑路径“root/tdb_hand/tdb_0”定位到配置文件A.conf深圳电信中的“root/tdb_hand/tdb_0”的位置,按照第一编辑内容(6,修改,conn_port=2000修改为conn_port=3000)对配置文件A.conf深圳电信中的“root/tdb_hand/tdb_0”的位置中的内容conn_port的值由2000修改为3000,即可得到图7b所示的编辑处理后的配置文件示例图。
图5示出了本发明实施例提供的根据第一编辑内容提取该第一编辑内容对应的第一编辑路径的具体实现流程,详述如下:
S201,按照第一编辑内容的操作类型对第一编辑内容进行排序处理。
具体的,按照第一编辑内容的操作类型对第一编辑内容进行排序处理时,以下述操作类型排序顺序进行排序:修改、删除、增加。若两条或者两条以上的第一编辑内容的操作类型相同,则可以按照任意顺序进行排序。
S202,生成第一文件副本,其中第一文件副本为第一文件的备份文件。
S203,获取一条第一编辑内容,按照第一编辑内容对第一文件副本进行编辑处理,并记录对第一文件副本进行编辑处理的行标识。
具体的,在按照第一编辑内容对第一文件副本进行编辑处理时,可以根据第一编辑内容中的行标识定位到该第一文件副本中该行标识所标识的位置,再对第一文件副本中该行标识所标识的位置中的内容按照该条第一编辑内容中的操作类型以及操作内容进行编辑处理,并记录对第一文件副本进行编辑处理的行标识。举例说明如下:
以图8a所示的配置文件A.conf深圳电信为第一文件为例,假设第一编辑内容为(10,修改,conn_port=2000修改为conn_port=3000),则由于第一文件副本为第一文件的备份文件,所以首先定位到该第一文件副本的行标识为10(即conn_port=20000)所在的位置,再对第一文件副本中第10行所在位置中的内容(conn_port=20000)按照该条第一编辑内容中的操作类型(即修改)以及操作内容(conn_port=20000修改为conn_port=30000)进行编辑处理,即将第一文件副本中第10行所在位置的conn_port的值由20000修改为30000,则可以得到图8b所示的第一文件副本,从图8b所示的第一文件副本中即可记录到对第一文件副本进行编辑处理的行标识为10。
S204,将第一文件副本中记录的行标识之前的所有内容压入数组容器中。
还是以S203中的例子为例,当记录到的行标识为10时,则将第一文件副本中第10行以前的所有内容压入一个数组容器中,可以得到该数组容器中的内容如图8c所示。
S205,遍历该数组容器,从数组容器中的内容中提取所有节点,得到初步节点路径。
其中节点是指该数组容器中可代表路径的内容,如假设数组容器中的内容如图8c所示,则其中的节点包括root、tdb_hand、tdb_0、/tdb_0、tdb_1,此时初步节点路径为root/tdb_hand/tdb_0//tdb_0/tdb_1。
S206,去除初步节点路径中的闭合节点,得到第一编辑内容对应的第一编辑路径。
其中闭合节点是指由开始标签和结束标签组成的节点,是配置文件的组织方式之一。其中开始标签的第一个字符是一个“<”字符,“<”字符后面的几个字符是元素的标记名称,且用“>”的字符被关闭。结束标签的第一个字符是一个“<”的字符,第二个字符是“/”的字符,“/”字符后面的几个字符是元素的标签名称,且“/”字符后面的标签名称与开始标签中的“<”字符后面标签名称一致,并用“>”的字符关闭。如形如节点tdb_0和节点/tdb_0为闭合节点。可以理解,闭合节点的具体表现形式还可以为其他形式,在此不做限定。在去除了初步节点路径中的闭合节点后,即可得到该条第一编辑内容对应的第一编辑路径,如当初步节点路径为root/tdb_hand/tdb_0//tdb_0/tdb_1时,则第一编辑路径为root/tdb_hand/tdb_1。
重复执行上述S203至S206,即可提取出每条第一编辑内容对应的第一编辑路径。
图6示出了本发明实施例提供的按照第一编辑路径和第一编辑内容对除第一文件以外的其它需要进行文件编辑的多个文件进行编辑处理的实现流程,详述如下:
S301,生成第二文件副本。
S302,判断是否还有未进行编辑处理的第二文件副本,如果是,跳转至S303,否则,文件编辑处理结束。
S303,获取一个第二文件副本,并将获取的第二文件副本的所有内容压入数组容器中。
S304,判断是否还有未处理的第一编辑路径和第一编辑内容,如果是,跳转至S305,否则,跳转至S302。
S305,获取一条第一编辑路径以及对应的第一编辑内容,定位到数组容器中该第一编辑路径对应的位置,针对数组容器中定位到的位置处的内容按照操作类型以及操作内容进行编辑处理,并跳转至S304。
图9示出了本发明另一实施例提供的文件的批量编辑方法的实现流程,详述如下:
S401,从需要进行文件编辑的多个文件中选择一个作为第一文件,并对该第一文件进行编辑处理,得到编辑后的第一文件。其具体过程如上所述,在此不再赘述。
S402,将第一文件和编辑后的第一文件进行对比,获取第一编辑内容。其具体过程如上所述,在此不再赘述。
S403,根据第一编辑内容提取该第一编辑内容对应的第一编辑路径。其具体过程如上所述,在此不再赘述。
S404,按照第一编辑路径和第一编辑内容对除第一文件以外的其它需要进行文件编辑的多个文件进行编辑处理,得到编辑后的第二文件。
S405,将编辑前的文件与对应的编辑后的文件进行对比,获取第二编辑内容和第二编辑路径。
其中编辑前的文件包括第一文件和/或第二文件,编辑后的文件包括编辑后的第一文件和/或编辑后的第二文件。
其中将编辑前的文件与对应的编辑后的文件进行对比可以采用Diff命令或者现有技术提供的任意一种文本对比技术,根据编辑前的文件与对应的编辑后的文件的对比结果,获取第一编辑内容和第一编辑路径的具体过程如上所述。
S406,将第二编辑路径与第一编辑路径进行对比,并将第二编辑内容与第一编辑内容进行对比,以对文件编辑结果进行校验。
若第二编辑路径与第一编辑路径一致,且第二编辑内容与第一编辑内容一致,则检验成功,表示对文件进行的编辑操作未出现错误,否则校验失败,表示对文件进行的编辑操作出现了错误。
在本发明实施例中,通过对文件编辑结果进行校验,提供了文件编辑的自动校验,从而进一步保证了文件批量编辑的正确性。
在本发明另一实施例中,该方法还包括下述步骤:
根据校验结果对编辑出错位置进行定位处理。
在本实施例中,如果第二编辑路径与第一编辑路径不一致,或者第二编辑内容与第一编辑内容不一致,则记录第一编辑路径和/或第一编辑内容,根据记录的第一编辑路径和/或第一编辑内容即可定位到出现编辑错误的位置。
图10示出了本发明实施例提供的文件的批量编辑装置的结构,为了便于说明仅示出了与本发明实施例相关的部分。
该装置可以用于计算机,可以是运行于这些设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到计算机中或者运行于计算机的应用系统中,其中:
该文件的批量编辑装置包括第一编辑单元1,文件对比单元2,编辑路径提取单元3,第二编辑单元4。其中:
第一编辑单元1用于从需要进行文件编辑的多个文件中选择一个作为第一文件,并对所述第一文件进行编辑处理,得到编辑后的第一文件。
其中需要进行文件编辑的文件是指需要对文件的相同路径下的相同内容作相同编辑处理的所有文件。
文件对比单元2用于将所述第一文件和所述编辑后的第一文件进行对比,获取第一编辑内容。
其中将第一文件和编辑后的第一文件进行对比的具体方式可以采用现有技术提供的任意一种文本对比方式,如可以采用Diff命令来将第一文件和编辑后的第一文件进行对比,得到对比结果,根据对比结果确定第一编辑内容。
其中将第一文件和编辑后的第一文件进行对比时,若对第一文件进行了多个地方的编辑处理,则可以得到多条第一编辑内容。每条第一编辑内容包括行标识、操作类型以及操作内容。其中行标识是指对第一文件进行编辑处理的行的标识。操作类型包括但不限于增加、删除和修改。操作内容是指对第一文件进行编辑处理所涉及的具体的操作内容。
编辑路径提取单元3用于根据所述第一编辑内容提取所述第一编辑内容对应的第一编辑路径。
具体的,通过逐条的解析第一编辑内容,提取每条第一编辑内容对应的第一编辑路径。
在本发明另一实施例中,该编辑路径提取单元3包括排序模块31,第一文件生成模块32,文件副本编辑模块33,文件副本压入模块34,初步节点路径获取模块35,第一编辑路径获取模块36。其中:
排序模块31用于按照所述第一编辑内容的操作类型对所述第一编辑内容进行排序处理。
具体的,按照第一编辑内容的操作类型对第一编辑内容进行排序处理时,以下述操作类型排序顺序进行排序:修改、删除、增加。若两条或者两条以上的第一编辑内容的操作类型相同,则可以按照任意顺序进行排序。
第一文件生成模块32用于生成第一文件副本,所述第一文件副本为所述第一文件的备份文件。
文件副本编辑模块33用于获取一条第一编辑内容,按照所述第一编辑内容对所述第一文件副本进行编辑处理,并记录对所述第一文件副本进行编辑处理的行标识。
具体的,在按照第一编辑内容对第一文件副本进行编辑处理时,可以根据第一编辑内容中的行标识定位到该第一文件副本中该行标识所标识的位置,再对第一文件副本中该行标识所标识的位置中的内容按照该条第一编辑内容中的操作类型以及操作内容进行编辑处理,并记录对第一文件副本进行编辑处理的行标识。
文件副本压入模块34用于将所述第一文件副本中所述记录的行标识之前的所有内容压入数组容器中。
初步节点路径获取模块35用于遍历所述数组容器,从所述数组容器中的内容中提取所有节点,得到初步节点路径。其中节点是指该数组容器中可代表路径的内容。
第一编辑路径获取模块36用于去除所述初步节点路径中的闭合节点,得到所述第一编辑内容对应的第一编辑路径。
其中闭合节点是指由开始标签和结束标签组成的节点,是配置文件的组织方式之一。其中开始标签的第一个字符是一个“<”字符,“<”字符后面的几个字符是元素的标记名称,且用“>”的字符被关闭。结束标签的第一个字符是一个“<”的字符,第二个字符是“/”的字符,“/”字符后面的几个字符是元素的标签名称,且“/”字符后面的标签名称与开始标签中的“<”字符后面标签名称一致,并用“>”的字符关闭。
第二编辑单元4用于按照第一编辑路径和第一编辑内容对第二文件进行编辑处理,其中所述第二文件为除第一文件以外的其它需要进行文件编辑的多个文件。
具体的,针对除第一文件以外的其它需要进行文件编辑的每个文件,定位到该文件中该第一编辑路径对应的位置,对该文件中该第一编辑路径对应的位置的内容按照第一编辑内容进行编辑处理。
在本发明另一实施例中,所述第二编辑单元4包括第二文件生成模块41,文件内容压入模块42,文件编辑模块43,其中:
第二文件生成模块41用于生成第二文件副本,所述第二文件副本为所述第二文件的备份文件。
文件内容压入模块42用于获取一个第二文件副本,并将获取的第二文件副本的所有内容压入数组容器中。
文件编辑模块43用于获取一条第一编辑路径以及对应的第一编辑内容,定位到数组容器中所述第一编辑路径对应的位置,针对数组容器中定位到的位置处的内容按照第一编辑内容进行编辑处理,循环执行所述获取一条第一编辑路径以及对应的第一编辑内容,定位到数组容器中所述第一编辑路径对应的位置,针对数组容器中定位到的位置处的内容按照第一编辑内容进行编辑处理,直到遍历完所有的第一编辑路径以及对应的第一编辑内容为止。
在本发明另一实施例中,所述装置还包括编辑结果校验单元
编辑结果校验单元5用于将编辑前的文件与对应的编辑后的文件进行对比,获取第二编辑内容和第二编辑路径,将所述第二编辑路径与所述第一编辑路径进行对比,并将所述第二编辑内容与所述第一编辑内容进行对比,以对文件编辑结果进行校验;其中所述编辑前的文件包括第一文件和/或第二文件,所述编辑后的文件包括编辑后的第一文件和/或编辑后的第二文件。
值得注意的是,上述装置所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
在本发明实施例中,通过对多个文件中的一个文件进行编辑处理,获取第一编辑内容和第一编辑路径,按照该第一编辑内容和第一编辑路径对其他文件进行编辑处理,从而可以实现文件的批量编辑,提高文件编辑效率,同时由于是按照第一编辑内容和第一编辑路径对其他文件进行编辑处理的,从而可以根据第一编辑路径准确的定位到其他文件中需要进行编辑的位置,保证了文件编辑的准确性。通过对文件编辑结果进行校验,提供了文件编辑的自动校验,从而进一步保证了文件批量编辑的正确性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种文件的批量编辑方法,其特征在于,所述方法包括:
从需要进行文件编辑的多个文件中选择一个作为第一文件,并对所述第一文件进行编辑处理,得到编辑后的第一文件;
将所述第一文件和所述编辑后的第一文件进行对比,获取第一编辑内容;所述第一编辑内容包括行标识,操作类型和操作内容;
根据所述第一编辑内容提取所述第一编辑内容对应的第一编辑路径;
按照第一编辑路径和第一编辑内容对第二文件进行编辑处理,其中所述第二文件为除第一文件以外的其它需要进行文件编辑的多个文件。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一编辑内容提取所述第一编辑内容对应的第一编辑路径包括:
A1,按照所述第一编辑内容的操作类型对所述第一编辑内容进行排序处理;
A2,生成第一文件副本,所述第一文件副本为所述第一文件的备份文件;
A3,获取一条第一编辑内容,按照所述第一编辑内容对所述第一文件副本进行编辑处理,并记录对所述第一文件副本进行编辑处理的行标识;
A4,将所述第一文件副本中所述记录的行标识之前的所有内容压入数组容器中;
A5,遍历所述数组容器,从所述数组容器中的内容中提取所有节点,得到初步节点路径;
A6,去除所述初步节点路径中的闭合节点,得到所述第一编辑内容对应的第一编辑路径;
循环执行所述A3至A6,直到提取出每条所述第一编辑内容对应的第一编辑路径。
3.如权利要求1所述的方法,其特征在于,所述按照第一编辑路径和第一编辑内容对第二文件进行编辑处理包括:
B1,生成第二文件副本,所述第二文件副本为所述第二文件的备份文件;
B2,判断是否还有未进行编辑处理的第二文件副本,如果是,跳转至B3,否则,文件编辑处理结束;
B3,获取一个第二文件副本,并将获取的第二文件副本的所有内容压入数组容器中;
B4,判断是否还有未处理的第一编辑路径和第一编辑内容,如果是,跳转至B5,否则,跳转至所述B2;
B5,获取一条第一编辑路径以及对应的第一编辑内容,定位到数组容器中所述第一编辑路径对应的位置,针对数组容器中定位到的位置处的内容按照第一编辑内容进行编辑处理后,跳转至所述B4。
4.如权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
将编辑前的文件与对应的编辑后的文件进行对比,获取第二编辑内容和第二编辑路径,所述编辑前的文件包括第一文件和/或第二文件,所述编辑后的文件包括编辑后的第一文件和/或编辑后的第二文件;
将所述第二编辑路径与所述第一编辑路径进行对比,并将所述第二编辑内容与所述第一编辑内容进行对比,以对文件编辑结果进行校验。
5.一种文件的批量编辑装置,其特征在于,所述装置包括:
第一编辑单元,用于从需要进行文件编辑的多个文件中选择一个作为第一文件,并对所述第一文件进行编辑处理,得到编辑后的第一文件;
文件对比单元,用于将所述第一文件和所述编辑后的第一文件进行对比,获取第一编辑内容;所述第一编辑内容包括行标识,操作类型和操作内容
编辑路径提取单元,用于根据所述第一编辑内容提取所述第一编辑内容对应的第一编辑路径;
第二编辑单元,用于按照第一编辑路径和第一编辑内容对第二文件进行编辑处理,其中所述第二文件为除第一文件以外的其它需要进行文件编辑的多个文件。
6.如权利要求5所述的装置,其特征在于,所述编辑路径提取单元包括:
排序模块,用于按照所述第一编辑内容的操作类型对所述第一编辑内容进行排序处理;
第一文件生成模块,用于生成第一文件副本,所述第一文件副本为所述第一文件的备份文件;
文件副本编辑模块,用于获取一条第一编辑内容,按照所述第一编辑内容对所述第一文件副本进行编辑处理,并记录对所述第一文件副本进行编辑处理的行标识;
文件副本压入模块,用于将所述第一文件副本中所述记录的行标识之前的所有内容压入数组容器中;
初步节点路径获取模块,用于遍历所述数组容器,从所述数组容器中的内容中提取所有节点,得到初步节点路径;
第一编辑路径获取模块,用于去除所述初步节点路径中的闭合节点,得到所述第一编辑内容对应的第一编辑路径。
7.如权利要求5所述的装置,其特征在于,所述第二编辑单元包括:
第二文件生成模块,用于生成第二文件副本,所述第二文件副本为所述第二文件的备份文件;
文件内容压入模块,用于获取一个第二文件副本,并将获取的第二文件副本的所有内容压入数组容器中;
文件编辑模块,用于获取一条第一编辑路径以及对应的第一编辑内容,定位到数组容器中所述第一编辑路径对应的位置,针对数组容器中定位到的位置处的内容按照第一编辑内容进行编辑处理,循环执行所述获取一条第一编辑路径以及对应的第一编辑内容,定位到数组容器中所述第一编辑路径对应的位置,针对数组容器中定位到的位置处的内容按照第一编辑内容进行编辑处理,直到遍历完所有的第一编辑路径以及对应的第一编辑内容为止。
8.如权利要求5至7任一项所述的装置,其特征在于,所述装置还包括:
编辑结果校验单元,用于将编辑前的文件与对应的编辑后的文件进行对比,获取第二编辑内容和第二编辑路径,5将所述第二编辑路径与所述第一编辑路径进行对比,并将所述第二编辑内容与所述第一编辑内容进行对比,以对文件编辑结果进行校验;其中所述编辑前的文件包括第一文件和/或第二文件,所述编辑后的文件包括编辑后的第一文件和/或编辑后的第二文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410027633.1A CN104794131B (zh) | 2014-01-21 | 2014-01-21 | 一种文件的批量编辑方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410027633.1A CN104794131B (zh) | 2014-01-21 | 2014-01-21 | 一种文件的批量编辑方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104794131A CN104794131A (zh) | 2015-07-22 |
CN104794131B true CN104794131B (zh) | 2019-07-05 |
Family
ID=53558925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410027633.1A Active CN104794131B (zh) | 2014-01-21 | 2014-01-21 | 一种文件的批量编辑方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104794131B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108776569B (zh) * | 2018-04-20 | 2021-10-15 | 贵阳朗玛信息技术股份有限公司 | 一种对编译选项控制文件的修改方法及装置 |
CN109034150B (zh) * | 2018-06-15 | 2021-09-21 | 北京小米移动软件有限公司 | 图像处理方法及装置 |
CN110602416B (zh) * | 2019-09-06 | 2022-03-22 | Oppo广东移动通信有限公司 | 视频处理方法、终端及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187919A (zh) * | 2006-11-16 | 2008-05-28 | 北大方正集团有限公司 | 一种对文档集进行批量单文档摘要的方法及系统 |
CN101901152A (zh) * | 2009-06-01 | 2010-12-01 | 杨良海 | 一种内容批量更新技术的方法 |
CN103152398A (zh) * | 2013-02-07 | 2013-06-12 | 中国科学院计算技术研究所 | 一种多终端文件间的文件同步方法及系统 |
CN103516529A (zh) * | 2012-06-20 | 2014-01-15 | 中兴通讯股份有限公司 | 一种配置文件的管理方法、装置及系统 |
-
2014
- 2014-01-21 CN CN201410027633.1A patent/CN104794131B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187919A (zh) * | 2006-11-16 | 2008-05-28 | 北大方正集团有限公司 | 一种对文档集进行批量单文档摘要的方法及系统 |
CN101901152A (zh) * | 2009-06-01 | 2010-12-01 | 杨良海 | 一种内容批量更新技术的方法 |
CN103516529A (zh) * | 2012-06-20 | 2014-01-15 | 中兴通讯股份有限公司 | 一种配置文件的管理方法、装置及系统 |
CN103152398A (zh) * | 2013-02-07 | 2013-06-12 | 中国科学院计算技术研究所 | 一种多终端文件间的文件同步方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104794131A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104657140A (zh) | 代码生成方法及装置 | |
US20160179495A1 (en) | Device and method for packaging application | |
CN108055207A (zh) | 一种网络拓扑感知方法及装置 | |
CN104794131B (zh) | 一种文件的批量编辑方法及装置 | |
US20140067360A1 (en) | System And Method For On-Demand Simulation Based Learning For Automation Framework | |
CN109408291A (zh) | 一种分布式存储系统磁盘快照恢复方法、装置及电子设备 | |
CN105224396A (zh) | 一种业务数据处理方法和装置 | |
JPWO2014049804A1 (ja) | 分散システムにおけるシステム動作トレース方法 | |
CN109634570A (zh) | 前后端集成开发方法、装置、设备及计算机可读存储介质 | |
CN107819616A (zh) | 自动提取日志的方法、装置及系统 | |
CN111339042A (zh) | 数据的操作处理方法、系统及调度服务器 | |
CN104915462A (zh) | 一种文件管理方法及系统 | |
WO2016165461A1 (zh) | 一种电信网网管系统软件自动化测试方法和装置 | |
CN107888419A (zh) | 一种交换机网络拓扑生成方法及装置 | |
CN106131134A (zh) | 一种消息内容合并去重方法及系统 | |
CN104182348A (zh) | 软件测试方法及装置 | |
CN113031944B (zh) | 基于模板的业务开通装置及方法 | |
CN106789205A (zh) | 机群命令运行方法及系统 | |
CN106776275B (zh) | 一种基于分组复用的测试流程自动生成方法 | |
CN106301967B (zh) | 一种数据同步方法及带外管理设备 | |
CN113794581A (zh) | 分布式cp统一部署方法及网络设备、存储介质 | |
de Figueiredo et al. | Generating interaction test cases for mobile phone systems from use case specifications | |
CN107885527A (zh) | 一种测试系统的代码修改方法及装置 | |
CN107590044B (zh) | 一种分布式存储集群的测试方法、装置及设备 | |
CN101459746A (zh) | 一种话单解码方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190805 Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |