【问题标题】:How to split a text file into smaller files with same number of rows [closed]如何将文本文件拆分为具有相同行数的较小文件[关闭]
【发布时间】:2014-03-15 05:32:22
【问题描述】:

我有一个包含 25000 行列表的大文本文件。

我需要将此文件分成一个较小的文件,每个文件有 2000 行。

所以最后我会得到 12 个文件,每个文件 2000 行,1 个文件,剩下的 1000 行。

如何自动化这个过程?

【问题讨论】:

  • 我不了解 Windows,但我会在 linux 中使用 split -l linenumber filename prefix。可能是谷歌或@​​987654321@ 是问这个问题的更好地方
  • google了一阵子,也找到了很多linux的例子,但是我一个都没用

标签: php windows batch-file split


【解决方案1】:

这是一个批量代码。 php 或其他语言中的“how to”应该很容易使用

@echo off
setlocal enabledelayedexpansion
set in=infile.txt
set f=1
set n=0
del out*.txt
for /f "delims=" %%i in ('type "%in%"') do (
  set /a n+=1
  if !n! leq 2000 (
    echo(%%i >>out!f!.txt
  ) else (
    set /a "f+=1" & set /a "n=0"
  )
)
dir out*.txt

【讨论】:

  • 由于某种原因,它创建的文件仅包含原始行中的第一个单词。换句话说,每个包含 2 个以上单词的关键字在第一个单词之后都会被截断。
  • 哎呀-我忘了"delims="。已编辑
  • 顺便说一句:这消除了空行。
  • 太棒了,这正是我一直在寻找的,也不需要像使用 php 那样在服务器端搞砸。谢谢!!
【解决方案2】:

您可以在post 找到可以拆分文件的免费软件

如果您希望以编程方式完成此操作,您可以使用 vbscript。这个post 可能会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-24
    • 2012-06-26
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2013-07-31
    • 2022-11-12
    相关资源
    最近更新 更多