【问题标题】:Remove last new line character of a file in windows batch在Windows批处理中删除文件的最后一个换行符
【发布时间】:2014-09-24 04:06:32
【问题描述】:

我在递归目录中有大约 1340 * 2 GB 的文件。如果存在,我需要删除每个文件的最后一个换行符(即使它有多个换行符也只有一次)。
由于这些文件很大,请告诉我如何删除最后一个换行符而不将整个文件读入内存,类似于 sed 命令sed '$ { /^$/ d}' *

任何帮助将不胜感激。请把我看作批处理和 windows 的新手

【问题讨论】:

  • 要删除CRLF 的最后两个字节而不重写整个文件,可以通过使用真正的编程语言AIUI 截断文件来完成。批处理文件和 sed 将不得不重写整个 2 TB+

标签: windows batch-file sed cmd


【解决方案1】:

你来了

sed 'N; $!P; $!D; $s/\n//'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多