行结尾更改整个项目的编辑器/应用程序

时间:2013-11-08 12:47:56

标签: editor newline

我有一个由许多扩展组成的项目。这些扩展使用所有3行结束类型。但服务器只能使用2。

我有一个编辑器,可以在打开的文件中更改行结尾但我需要一些可以进行批量转换的应用程序,因为它大约有10 000个文件。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

这可以通过文本编辑器 UltraEdit

来完成
  1. 点击菜单搜索 替换文件
  2. 输入搜索字符串\r?\n|\r
  3. 输入替换字符串\r\n以将所有行结尾转换为DOS / Windows,或仅转换\n以获取Unix行结尾。
  4. 如果尚未选择,请选择已列出的文件选项。
  5. 输入 In files / types 字符串*.*或仅*或任何适合仅匹配文本文件并排除二进制文件的内容。也可以使用分号*.txt;*.htm?;*.php
  6. 分隔多个文件扩展名来指定它们
  7. 使用 ... 按钮选择包含要更改的子目录和文件的父目录。
  8. 点击按钮高级或带有齿轮图标的按钮,打开高级选项。
  9. 选中搜索子目录选项。
  10. 选中正则表达式选项并选择正则表达式引擎 Perl
  11. 如果文本文件采用UTF-16小端或UTF-16大端编码,请同时选中使用编码并选择编码 1200 (UTF-16 LE )或 1201 (UTF-16 BE)。对于所有其他编码,如UTF-8或ANSI,编码选项不需要用于文件中的替换。
  12. 立即使用按钮全部替换运行替换。
  13. Perl正则表达式搜索字符串\r?\n|\r匹配回车符和换行符对(CRLF - DOS / Windows),或只是换行符(LF - Unix),或只是回车符(CR - Mac)

    所有匹配的文件在运行Perl正则表达式全部替换后将有一个新的修改日期,因为搜索表达式找到所有3行结束类型。

    但是也可以使用搜索字符串\r\n|\r\n作为替换字符串,仅将所有DOS / Mac文件转换为Unix。使用此搜索表达式不会修改仅包含换行符并因此已经是Unix文件的文件。

    使用(?<!\r)\n|\r(?!\n)作为搜索字符串,\r\n作为替换字符串,仅将所有Unix / Mac文件转换为DOS / Windows。此搜索表达式不会修改仅包含\r\n的文件。