Notepad ++(甚至使用其他工具)中有什么方法可以一次更改多个文件上自动结束的行吗?
即将windows EOL ( CRLF
) 和 UNIX EOL ( LF
) 文件的混合转换为所有 Windows EOL ( CRLF
)
Notepad ++(甚至使用其他工具)中有什么方法可以一次更改多个文件上自动结束的行吗?
即将windows EOL ( CRLF
) 和 UNIX EOL ( LF
) 文件的混合转换为所有 Windows EOL ( CRLF
)
Replace对话框可以处理 EOL 等扩展字符。只需将“搜索模式”更改为“扩展”,您就可以使用 EOL(Windows 中的 \r\n 或 Unix 中的 \n)、制表符 (\t) 等。
您还可以使用对话框的“在文件中查找”选项卡来跨多个文件进行替换。
我有记事本++ 6.1.2。
在“编辑”菜单中,您有完全符合您需要的“EOL 转换”。
使用“在文件中查找”功能 (Ctrl + Shift + F)。将左下角的搜索模式更改为“正则表达式”。
在“查找内容”框中,使用以下模式:
(?<!\r)\n
用。。。来代替:
\r\n
选择您的目录并指定任何文件类型过滤器。如果需要,请选中“在所有子文件夹中”。单击“在文件中替换”。
这样做是用 \r\n 替换当前没有以回车符 (\r) 开头的任何换行符 (\n)。所以它不会匹配已经是 Windows 样式的行尾。
使用正则表达式替换所有
(\r?\n)|(\r\n?)
至
\r\n
这会将所有可能的行结束模式(单个 \r、\n 或 \r\n)匹配回 \r\n (Windows)。
要对多个文件进行操作,请执行以下任一操作:
通过这个讨论找到了这个解决方案:
您还可以通过“设置”->“首选项”->“新建文档/默认目录”在 notepad++ 中设置默认 EOL,然后在“格式”框下选择“Unix/OSX”。
注意:始终可以使用命令行使用带外选项:
unix2dos *.cmd
dos2unix *.sh
将多个文件转换为一个目录并递归。只需在 Notepad ++ 上安装 PythonScript,然后使用下面的脚本
https://gist.github.com/bjverde/583c2ee8b386994f3a1f8acdea3b7ed2