104

Notepad ++(甚至使用其他工具)中有什么方法可以一次更改多个文件上自动结束的行吗?

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

4

7 回答 7

108

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

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

截屏

于 2012-07-05T09:46:06.063 回答
92

我有记事本++ 6.1.2。
在“编辑”菜单中,您有完全符合您需要的“EOL 转换”。

于 2012-07-05T09:42:17.830 回答
76

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

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

(?<!\r)\n

用。。。来代替:

\r\n

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

这样做是用 \r\n 替换当前没有以回车符 (\r) 开头的任何换行符 (\n)。所以它不会匹配已经是 Windows 样式的行尾。

在此处输入图像描述

于 2014-08-03T21:28:29.000 回答
12

使用正则表达式替换所有

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

\r\n

这会将所有可能的行结束模式(单个 \r、\n 或 \r\n)匹配回 \r\n (Windows)。

要对多个文件进行操作,请执行以下任一操作:

  • 使用“替换”选项卡中的“全部替换所有打开的文档”。您必须先将所有文件拖放到 Notepad++ 中。您可以控制要操作的文件,但如果有数百或数千个文件可能会很慢。
  • “在文件中查找”选项卡中的“在文件中替换”,按您选择的文件过滤器,例如,指定目录下的 *.cpp *.cs。
于 2015-07-24T03:28:16.260 回答
6

在谷歌搜索 1 小时后,我为多个文件/文件夹找到的唯一可行的解​​决方案是:

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

在此处输入图像描述

于 2018-02-05T10:21:15.057 回答
1

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

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

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

unix2dos *.cmd
dos2unix *.sh
于 2018-03-03T16:32:54.763 回答
1

将多个文件转换为一个目录并递归。只需在 Notepad ++ 上安装 PythonScript,然后使用下面的脚本

https://gist.github.com/bjverde/583c2ee8b386994f3a1f8acdea3b7ed2

于 2020-06-07T22:02:12.930 回答