CN105760355A - 自动批量转换换行符格式的系统及方法 - Google Patents

自动批量转换换行符格式的系统及方法 Download PDF

Info

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
Application number
CN201610066899.6A
Other languages
English (en)
Inventor
田雨农
赵欣
郭坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian Roiland Technology Co Ltd
Original Assignee
Dalian Roiland Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian Roiland Technology Co Ltd filed Critical Dalian Roiland Technology Co Ltd
Priority to CN201610066899.6A priority Critical patent/CN105760355A/zh
Publication of CN105760355A publication Critical patent/CN105760355A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character 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格式的文件进行输出,因此可以通过筛选功能,快速地定位转换过的文件以及不兼容换行符所在的行号。
CN201610066899.6A 2016-01-29 2016-01-29 自动批量转换换行符格式的系统及方法 Pending CN105760355A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
东坡下载: "文本批量查找替换工具", 《HTTP://WWW.UZZF.COM/SOFT/29150.HTML》 *

Cited By (3)

* Cited by examiner, † Cited by third party
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