一次性更改多个文件的EOL

fdu*_*uff 98 notepad++ eol batch-processing

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

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

McG*_*gle 96

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

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

截图

  • 用\ r \n替换\n.然后用\ r \n替换\ r \n \n \n \n.瞧! (40认同)
  • 请注意,如果*all*您的文件不是*unix-style,则此解决方案将无效.用`\ r \n`替换`\n`也会将`\ r \n`转换为`\ r \n \n \n``. (13认同)
  • 为什么您的屏幕截图示例在“查找内容”中显示“ \ t”?制表符与更改行尾没有关系,对吗? (2认同)

Mar*_*rco 91

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

  • 它基于文件工作,不能应用于整个文件集. (24认同)
  • 你读过这个问题的标题了吗?您是否看到"更改EOL on**multiple files**"部分? (10认同)
  • 实际上答案对我来说非常有用,因为我需要在单个文件中更改EOL,而我不知道如何. (7认同)
  • 有用的答案,因为这首先出现在谷歌 (5认同)
  • 您可以按顺序打开多个文件以对多个文件执行此操作.就像他说的那样,"一气呵成"原本并不存在. (2认同)

Sea*_*ean 63

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

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

(?<!\r)\n
Run Code Online (Sandbox Code Playgroud)

用...来代替:

\r\n
Run Code Online (Sandbox Code Playgroud)

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

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

在此输入图像描述

  • 从技术上讲,这是本页面上最准确,最完整的答案. (4认同)
  • `(?<!)`是负面的背后.如果没有前缀,则表示匹配.在这种情况下,它检查`\ r`并且仅在`\n`之前没有'\ r``时匹配. (2认同)

Wap*_*ull 6

使用正则表达式替换全部

(\r?\n)|(\r\n?)
Run Code Online (Sandbox Code Playgroud)

\r\n
Run Code Online (Sandbox Code Playgroud)

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

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

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


Cri*_*alu 6

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

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

在此处输入图片说明

  • 也适用于 IntelliJ IDEA 社区版,该版本是免费的,不需要试用。[IntelliJ IDEA](https://www.jetbrains.com/idea/download)。 (2认同)