一次性更改多个文件的EOL

问题描述 投票:86回答:6

Notepad ++(或者甚至是其他工具)有没有办法一次性更改多个文件上自动结束的行?

即将Windows EOL(CRLF)和UNIX EOL(LF)文件的混合转换为所有Windows EOL(CRLF

notepad++ batch-processing eol
6个回答
87
投票

“替换”对话框可以处理扩展字符,如EOL。只需将“搜索模式”更改为“扩展”,即可使用EOL(Windows中的\ r \ n或Unix中的\ n),制表符(\ t)等。

您还可以使用对话框中的“在文件中查找”选项卡对多个文件进行替换。


89
投票

我有Notepad ++ 6.1.2。 在“编辑”菜单中,您可以进行“EOL转换”,完全符合您的需要。


56
投票

使用“在文件中查找”功能(Ctrl + Shift + F)。将左下角的搜索模式更改为“正则表达式”。

在“查找内容”框中,使用以下模式:

(?<!\r)\n

用。。。来代替:

\r\n

选择您的目录并指定任何文件类型过滤器。如果需要,请选中“在所有子文件夹中”。单击“替换文件”。

这样做是用\ r \ n替换当前没有回车符(\ r)前面的任何换行符(\ n)。因此它不会匹配已经是Windows风格的行结尾。


4
投票

使用正则表达式替换all

(\r?\n)|(\r\n?)

\r\n

这将匹配每个可能的行结束模式(单个\ r,\ n或\ r \ n)回到\ r \ n(Windows)。

要对多个文件进行操作,可以:

  • 使用“替换”选项卡中的“全部打开文档中的全部替换”。您必须先将所有文件拖放到Notepad ++中。您可以控制要对哪个文件进行操作,但如果有数百或数千个文件,则可能会很慢。
  • “在文件中查找”选项卡中的“替换文件”,由您选择的文件过滤器,例如,* .cpp * .cs在一个指定目录下。

3
投票

我在google搜索1小时后找到的多个文件/文件夹唯一的WORKING解决方案是:

  • 安装PyCham试用模式,
  • 打开并选择您的项目文件夹/文件夹,然后按照屏幕截图

enter image description here


1
投票

通过这个discussion找到了这个解决方案:

您也可以通过“设置” - >“首选项” - >“新建文档/默认目录”在记事本++中设置默认EOL,然后在格式框下选择“Unix / OSX”。

注意:可以使用命令行始终使用带外选项:

unix2dos *.cmd
dos2unix *.sh
© www.soinside.com 2019 - 2024. All rights reserved.