CN105760355A - 自动批量转换换行符格式的系统及方法 - Google Patents
自动批量转换换行符格式的系统及方法 Download PDFInfo
- Publication number
- CN105760355A CN105760355A CN201610066899.6A CN201610066899A CN105760355A CN 105760355 A CN105760355 A CN 105760355A CN 201610066899 A CN201610066899 A CN 201610066899A CN 105760355 A CN105760355 A CN 105760355A
- Authority
- CN
- China
- Prior art keywords
- file
- module
- newline
- conversion
- output
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
自动批量转换换行符格式的系统及方法,包括文件遍历模块:以其所在的目录为根路径,遍历根路径下所有的子目录和文件;文件筛选模块,对文件列表进行筛选;换行符检查模块,进行换行符的检查,针对含有不兼容格式,输出文件列表;换行符转换模块,根据换行符检查模块输出的文件列表,逐个文件进行换行符的转换处理;显示模块,将文件遍历模块、文件筛选模块、换行符检查模块、换行符转换模块的输出数据,以及统计信息显示到屏幕上;日志输出模块,生成Excel格式的日志。能够自动批量地将【CRLF】和【CR】格式的换行符转换成Linux兼容的【LF】格式的换行符;使转换效率大大提高,并且避免了遗漏和误操作。
Description
技术领域
本发明属于软件项目跨平台移植开发领域,具体说是一种能够自动检测并批量转换换行符格式的系统及方法。
背景技术
在Linux系统下,查看Windows或MACOS的源文件时,会由于换行符格式Windows:【CRLF】、MACOS:【CR】、Linux:【LF】不兼容,导致源文件换行异常,如:每行之间出现多余的空行或者每行末尾出现乱码。通常可以通过另存源文件时指定换行符为【LF】来解决这个问题。但是当大量源文件都需要转换时,比如软件项目在进行跨平台移植开发时的源文件,就显得效率极低,并可能出现遗漏和错误。
发明内容
针对现有技术存在上述缺点或者不足,本发明提供了一种自动批量转换换行符格式的系统及方法,能够自动批量地将【CRLF】和【CR】格式的换行符转换成Linux兼容的【LF】格式的换行符;使转换效率大大提高,并且避免了遗漏和误操作。
为实现上述目的,本发明的技术方案是,自动批量转换换行符格式的系统,包括:
文件遍历模块:以其所在的目录为根路径,遍历根路径下所有的子目录和文件,并记录扫描文件的类型、文件名、扩展名的信息;
文件筛选模块,基于文件遍历模块的输出数据,对文件列表进行筛选;
换行符检查模块,根据文件筛选模块的筛选结果,访问每个文件,进行换行符的检查,针对含有不兼容格式,输出文件列表;
换行符转换模块,根据换行符检查模块输出的文件列表,逐个文件进行换行符的转换处理;
显示模块,将文件遍历模块、文件筛选模块、换行符检查模块、换行符转换模块的输出数据,以及统计信息显示到屏幕上。
日志输出模块,生成Excel格式的日志。
进一步的,文件遍历模块,以深度优先搜索算法遍历根路径下所有的子目录和文件。
进一步的,文件筛选模块,将所有扩展名为“.c”、“.cpp”、“.h”、“.java”、“.xml”格式的文件列为换行符的检查对象。
进一步的,换行符检查模块针对含有不兼容格式,输出文件列表;所述不兼容格换行符格式为【CRLF】或【CR】。
进一步的,换行符转换模块,通过逐字扫描的方法扫描文件,如文件中出现[\r](【CR】ASCII:0x0D)字符:
根据该字符下一个字符,如果是[\n](【LF】ASCII:0x0A)字符,则删除[\r]字符,如果不是[\n](【LF】ASCII:0x0A)字符,则将[\r]字符替换成[\n]字符。
进一步的,所述的日志包括:概要转换日志和详细转换日志。
更进一步的,所述的概要转换日志,输出了每个文件的转换结果。
更进一步的,所述的详细转换日志,针对每个转换成功的文件,单独生成一个详细转换日志,其中记载了不兼容换行符所在的行号。
自动批量转换换行符格式的方法,具体步骤如下:
S1.将上述系统保存到待检查/转换的路径;
S2.按下键盘[Y]键开始进行换行符的检查/转换;
S3.文件遍历模块遍历待检查/转换路径下所有的子目录和文件,并记录扫描文件的类型、文件名、扩展名的信息;
S4:文件筛选模块基于文件遍历模块的输出数据,对文件列表进行筛选;换行符检查模块针对含有不兼容格式,输出文件列表;
S5:换行符转换模块根据输出的文件列表,逐个文件进行换行符的转换处理;
S6.转换完成,查看日志输出模块。
进一步的,所述的日志输出模块采用Excel格式的文件进行输出,因此可以通过筛选功能,快速地定位转换过的文件以及不兼容换行符所在的行号。
本发明由于采用以上技术方案,能够取得如下的技术效果:能够在没有人工干预的情况下,自动且批量地完成对源文件换行符的检查,如果发现不兼容的换行符格式,会自动的进行转换。具备检查/转换迅速、使用方法简单、不遗漏的优点。大大提高了软件项目跨平台移植开发的效率。
附图说明
本发明共有附图1幅:
图1为本发明方法的流程图;
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步的具体说明。
实施例1
自动批量转换换行符格式的系统,包括:
文件遍历模块:以其所在的目录为根路径,以深度优先搜索算法遍历根路径下所有的子目录和文件,并记录扫描文件的类型、文件名、扩展名等信息,为文件筛选模块提供基础数据;
文件筛选模块,基于文件遍历模块的输出数据,对文件列表进行筛选;将所有扩展名为“.c”、“.cpp”、“.h”、“.java”、“.xml”格式的文件列为换行符的检查对象。
换行符检查模块,根据文件筛选模块的筛选结果,访问每个文件,进行换行符的检查,针对含有不兼容格式,如:【CRLF】或【CR】,输出文件列表;
换行符转换模块,根据换行符检查模块输出的文件列表,逐个文件进行换行符的转换处理;通过逐字扫描的方法扫描文件,如果文件中出现[\r](【CR】ASCII:0x0D)字符:
根据该字符下一个字符,如果是[\n](【LF】ASCII:0x0A)字符,则删除[\r]字符,如果不是[\n](【LF】ASCII:0x0A)字符,则将[\r]字符替换成[\n]字符。
显示模块,将文件遍历模块、文件筛选模块、换行符检查模块、换行符转换模块的输出数据,以及统计信息显示到屏幕上。
日志输出模块,生成Excel格式的日志。所述日志分为两种,概要转换日志和详细转换日志。概要转换日志,输出了每个文件的转换结果,如转换成功、转换失败、不需要转换即所有的换行符格式都为【LF】、不支持的文件格式([.c]、[.cpp]、[.h]、[.java]、[.xml]以外的文件格式);详细转换日志,针对每个转换成功的文件,都会单独生成一个详细转换日志,详细转换日志中记载了不兼容换行符所在的行号。
自动批量转换换行符格式的方法,具体步骤如下:
S1.将上述系统保存到待检查/转换的路径;
S2.按下键盘[Y]键开始进行换行符的检查/转换;
S3.文件遍历模块遍历待检查/转换路径下所有的子目录和文件,并记录扫描文件的类型、文件名、扩展名的信息;
S4:文件筛选模块基于文件遍历模块的输出数据,对文件列表进行筛选;换行符检查模块针对含有不兼容格式,输出文件列表;
S5:换行符转换模块根据输出的文件列表,逐个文件进行换行符的转换处理;
S6.转换完成,查看日志输出模块。所述的日志输出模块采用Excel格式的文件进行输出,因此可以通过筛选功能,快速地定位转换过的文件以及不兼容换行符所在的行号。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (10)
1.自动批量转换换行符格式的系统,其特征在于,包括:
文件遍历模块:以其所在的目录为根路径,遍历根路径下所有的子目录和文件,并记录扫描文件的类型、文件名、扩展名的信息;
文件筛选模块,基于文件遍历模块的输出数据,对文件列表进行筛选;
换行符检查模块,根据文件筛选模块的筛选结果,访问每个文件,进行换行符的检查,针对含有不兼容格式,输出文件列表;
换行符转换模块,根据换行符检查模块输出的文件列表,逐个文件进行换行符的转换处理;
显示模块,将文件遍历模块、文件筛选模块、换行符检查模块、换行符转换模块的输出数据,以及统计信息显示到屏幕上;
日志输出模块,生成Excel格式的日志。
2.根据权利要求1所述的自动批量转换换行符格式的系统,其特征在于,文件遍历模块,以深度优先搜索算法遍历根路径下所有的子目录和文件。
3.根据权利要求1所述的自动批量转换换行符格式的系统,其特征在于,文件筛选模块,将所有扩展名为“.c”、“.cpp”、“.h”、“.java”、“.xml”格式的文件列为换行符的检查对象。
4.根据权利要求1所述的自动批量转换换行符格式的系统,其特征在于,换行符检查模块针对含有不兼容格式,输出文件列表;所述不兼容格换行符格式为【CRLF】或【CR】。
5.根据权利要求1所述的自动批量转换换行符格式的系统,其特征在于,换行符转换模块,通过逐字扫描的方法扫描文件,如文件中出现[\r](【CR】ASCII:0x0D)字符:
根据该字符下一个字符,如果是[\n](【LF】ASCII:0x0A)字符,则删除[\r]字符,如果不是[\n](【LF】ASCII:0x0A)字符,则将[\r]字符替换成[\n]字符。
6.根据权利要求1所述的自动批量转换换行符格式的系统,其特征在于,所述的日志包括:概要转换日志和详细转换日志。
7.根据权利要求6所述的自动批量转换换行符格式的系统,其特征在于,所述的概要转换日志,输出了每个文件的转换结果。
8.根据权利要求6所述的自动批量转换换行符格式的系统,其特征在于,所述的详细转换日志,针对每个转换成功的文件,单独生成一个详细转换日志,其中记载了不兼容换行符所在的行号。
9.自动批量转换换行符格式的方法,其特征在于,具体步骤如下:
S1.将上述系统保存到待检查/转换的路径;
S2.按下键盘[Y]键开始进行换行符的检查/转换;
S3.文件遍历模块遍历待检查/转换路径下所有的子目录和文件,并记录扫描文件的类型、文件名、扩展名的信息;
S4:文件筛选模块基于文件遍历模块的输出数据,对文件列表进行筛选;换行符检查模块针对含有不兼容格式,输出文件列表;
S5:换行符转换模块根据输出的文件列表,逐个文件进行换行符的转换处理;
S6.转换完成,查看日志输出模块。
10.根据权利要求9所述的自动批量转换换行符格式的方法,其特征在于,所述的日志输出模块采用Excel格式的文件进行输出,因此可以通过筛选功能,快速地定位转换过的文件以及不兼容换行符所在的行号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610066899.6A CN105760355A (zh) | 2016-01-29 | 2016-01-29 | 自动批量转换换行符格式的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610066899.6A CN105760355A (zh) | 2016-01-29 | 2016-01-29 | 自动批量转换换行符格式的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105760355A true CN105760355A (zh) | 2016-07-13 |
Family
ID=56342742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610066899.6A Pending CN105760355A (zh) | 2016-01-29 | 2016-01-29 | 自动批量转换换行符格式的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760355A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220439A (zh) * | 2017-05-27 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种pcb设计中批量移动装配层文字的方法 |
CN108038144A (zh) * | 2017-11-29 | 2018-05-15 | 爱普(福建)科技有限公司 | 一种复杂系统人机交互工程信息的快速修改方法及工具 |
CN114911760A (zh) * | 2022-04-06 | 2022-08-16 | 中银金融科技有限公司 | 用于批量作业的特殊文件自动化处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008046707A (ja) * | 2006-08-11 | 2008-02-28 | Sharp Corp | 変換データ表示方法及び装置 |
CN102012896A (zh) * | 2010-12-29 | 2011-04-13 | 深圳市五巨科技有限公司 | 一种实现文件内容批量修改的方法和装置 |
CN102331924A (zh) * | 2010-07-13 | 2012-01-25 | 英业达股份有限公司 | 跨平台的数据显示系统及其方法 |
CN103605514A (zh) * | 2013-11-11 | 2014-02-26 | 北京奇虎科技有限公司 | 一种前端模板的处理方法及装置 |
CN104317928A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种基于分布式数据库的业务etl方法及系统 |
-
2016
- 2016-01-29 CN CN201610066899.6A patent/CN105760355A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008046707A (ja) * | 2006-08-11 | 2008-02-28 | Sharp Corp | 変換データ表示方法及び装置 |
CN102331924A (zh) * | 2010-07-13 | 2012-01-25 | 英业达股份有限公司 | 跨平台的数据显示系统及其方法 |
CN102012896A (zh) * | 2010-12-29 | 2011-04-13 | 深圳市五巨科技有限公司 | 一种实现文件内容批量修改的方法和装置 |
CN103605514A (zh) * | 2013-11-11 | 2014-02-26 | 北京奇虎科技有限公司 | 一种前端模板的处理方法及装置 |
CN104317928A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种基于分布式数据库的业务etl方法及系统 |
Non-Patent Citations (1)
Title |
---|
东坡下载: "文本批量查找替换工具", 《HTTP://WWW.UZZF.COM/SOFT/29150.HTML》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220439A (zh) * | 2017-05-27 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种pcb设计中批量移动装配层文字的方法 |
CN108038144A (zh) * | 2017-11-29 | 2018-05-15 | 爱普(福建)科技有限公司 | 一种复杂系统人机交互工程信息的快速修改方法及工具 |
CN114911760A (zh) * | 2022-04-06 | 2022-08-16 | 中银金融科技有限公司 | 用于批量作业的特殊文件自动化处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933207B (zh) | 用于分布式工业性能监控的数据分析服务 | |
US20200279107A1 (en) | Digital image-based document digitization using a graph model | |
CN101661460B (zh) | 管理系统报表生成方法和装置 | |
US20050289182A1 (en) | Document management system with enhanced intelligent document recognition capabilities | |
US20170102696A1 (en) | Distributed industrial performance monitoring and analytics | |
CN105760355A (zh) | 自动批量转换换行符格式的系统及方法 | |
DE102016119066A1 (de) | Verteilte Leistungsüberwachung und Analyseplattform für industrielle Anlagen | |
GB2600255A (en) | Distributed industrial performance monitoring and analytics | |
DE102016119178A1 (de) | Quellenunabhängige Abfragen in einem verteilten Industriesystem | |
CN101877080A (zh) | 一种物料清单配置自动生成方法 | |
CN112632006A (zh) | 电子报表文件导出方法、装置、设备及存储介质 | |
CN104699714A (zh) | 将书版格式文件转换为epub格式文件的方法及装置 | |
CN116501727B (zh) | 一种设备数据校验方法、装置、设备及存储介质 | |
CN108536435A (zh) | 一种自动生成can通信代码的方法 | |
CN105488089A (zh) | 质量评估报告自动化生成方法与系统 | |
CN103399848B (zh) | 发动机试验数据标准化特定格式导入处理方法 | |
Gilani et al. | Life cycle assessment of an integrated forest biorefinery: hot water extraction process case study | |
CN103649924A (zh) | 嵌入式装置、程序产生装置和程序 | |
CN104199928A (zh) | 一种半结构化的页面描述与解析方法 | |
EP2037343A1 (en) | Production management system, production management method, and storage medium containing production program for executing the production management method | |
US7873902B2 (en) | Transformation of versions of reports | |
CN102915028B (zh) | Pcs7软件系统的诊断系统和诊断方法 | |
CN114139514A (zh) | 一种智能报表生成方法、装置及计算机存储介质 | |
US20160335335A1 (en) | Intermediate data format for database population | |
CN102310950B (zh) | 试验智判系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160713 |
|
RJ01 | Rejection of invention patent application after publication |