命令行输出来分割文件

命令行输出来分割文件

我希望能够将命令行的输出拆分到文件中。我希望使用以下一种或两种方式进行拆分:

  • 根据文件大小进行拆分。如果文件大小达到 500kb,则创建一个新文件
  • 根据文件中的行数进行拆分。如果达到 1000 行,则创建一个新文件

当然,这也意味着我需要一个输出变量名

这是我现在正在运行的命令:

java -jar "C:\Processors\myProcessor.jar" >> "C:\Processors\myprocessor.log"

希望将“myprocessor.log”拆分成相应的文件。

答案1

split 命令可以完全满足您的要求,并可以选择按文件大小或行数进行拆分。手册页

split——将文件拆分成几部分

将固定大小的 INPUT 片段输出到 PREFIXaa、PREFIXab、...;默认大小为 1000 行,默认 PREFIX 为“x”。如果没有 INPUT,或者 INPUT 为 -,则读取标准输入。

...剪辑...

-b, --bytes=SIZE 每个输出文件放入 SIZE 个字节

-l, --lines=NUMBER 每个输出文件放入 NUMBER 行

您可以在GnuWin32 CoreUtils 包用于 Windows 机器上。

答案2

如果您想在不修改 myProcessor.jar 的情况下执行此操作,则需要对日志文件进行后处理。我怀疑您可以在 Powershell 中执行此操作,但我并不清楚如何操作。Windows 中没有任何东西可以执行此操作。

答案3

我相信您要做的事情至少需要编写一个脚本(仅命令行无济于事)

对于这样的脚本编写目的,我建议编写一个 Ruby 脚本(Ruby 是一种非常强大且极易学习的语言 - 非常友好)。编写一个批处理文件来执行此操作会耗费你的脑子(至少它会耗费我的脑子)

相关内容