是否有"分裂"相当于Powershell?

时间:2016-03-30 22:18:25

标签: powershell

我正在寻找相当于" split"的PowerShell。 * NIX命令,如下所示:http://www.computerhope.com/unix/usplit.htm

  

将输入INPUT的固定大小的输出分割输出到命名的文件   PREFIXaa,PREFIXab,...

这不是指字符串的.split()。这是从管道中取出一个LARGE数组,然后存储到每个具有相同行数的X个文件中。

在我的用例中,获取管道的内容是超过1M亿个文件的列表...

SyntaxError

1 个答案:

答案 0 :(得分:1)

我认为它不存在CmdLet完全按照你的意愿行事。但你可以快速建立一个功能。

它是How can I split a text file using PowerShell?的一种副本,如果你谷歌&#34; powershell将文本文件拆分成较小的文件,你会发现更多的脚本解决方案&#34; < / p>

这是一个开始的代码,我的建议是使用.NET类System.IO.StreamReader来处理更有效的大文件。

$sourcefilename = "D:\temp\theFiletosplit.txt"
$desFolderPathSplitFile = "D:\temp\TFTS"
$maxsize = 2 # The number of lines per file 
$filenumber = 0
$linecount = 0

$reader = new-object System.IO.StreamReader($sourcefilename)

while(($line = $reader.ReadLine()) -ne $null)
{
  Add-Content $desFolderPathSplitFile$filenumber.txt $line
  $linecount ++
  If ($linecount -eq $maxsize)
  {
    $filenumber++
    $linecount = 0
  }
}
$reader.Close()
$reader.Dispose()