【发布时间】:2020-08-03 02:43:11
【问题描述】:
我有所有可以想象到的 EOL 文件。我想一次性将它们标准化,而不是像我们谈论几千个那样一个一个地做。 我知道如何手动完成,所以请不要解释。
我认为所有可能的都是,从最常见到最不常见: CRLF, LF, CR-CRLF, CRCR-CRLF, CR, LFLF, CRCR, CRLF-CRLF 和 CRCRCR-CRLF(是的,只有一个文件)。
所有文件都有一致的 EOL,一个文件中没有混合的。修复后可能会留下一些奇怪的 CR 或 LF,可以不理会。p>
我希望所有文件都只有 CRLF。空行必须保持原样。
首先,我认为我需要对每个文件中的 EOL 进行一些很好的检测。它可以检查它是否重复至少 3 次,但有些只有一行。
我在这里制作了一些临时文件,完成后应该看起来像 CRLF 文件(里面只有 TXT 文件): https://www71.zippyshare.com/v/BNpRAijy/file.html
我用谷歌搜索了一整天,没有找到任何好的解决方案。
示例
1.只是 CRLF EOL,我想要的结果:
line1CRLF
line2CRLF
CRLF
line3CRLF
line4CRLF
CRLF
CRLF
line5CRLF
CRLF
CRLF
CRLF
line6CRLF
CRLF
2。 CRCRLF: 手动我会用 CRLF 替换 CRCRLF,用 \r\n 替换 \r\r\n 并再次对具有 CRCRCRLF 的文件重复一次,然后对那个孤独的 CRCRCRCRLF 再次重复。 但问题不是所有文件都有这种可能性,我上面列出的还有 5 个需要考虑。虽然只有 LF 和 CR 在这里没有太大问题,因为 Windows 记事本现在支持 Unix 和 MAC EOL,但包含它们仍然很好。
所以主要问题仍然是 LFLF,然后还有几个 CRCR 和 CRCR-CRLF 需要考虑。 最好是包括所有可能。
line1CR
CRLF
line2CR
CRLF
CR
CRLF
line3CR
CRLF
line4CR
CRLF
CR
CRLF
CR
CRLF
line5CR
CRLF
CR
CRLF
CR
CRLF
CR
CRLF
line6CR
CRLF
CR
CRLF
【问题讨论】:
-
我认为你需要编写一个程序来依次访问每个文件。它将读取前几行并确定该文件的换行格式,然后相应地处理它。这不是 Notepad++ 的工作。
-
谢谢,用 Python 写的。开个玩笑,程序员朋友已经有了,我就是想知道Notepad++有没有简单的方法。
标签: notepad++ batch-processing eol end-of-line