我正在寻找相当于" split"的PowerShell。 * NIX命令,如下所示:http://www.computerhope.com/unix/usplit.htm
将输入INPUT的固定大小的输出分割输出到命名的文件 PREFIXaa,PREFIXab,...
这不是指字符串的.split()。这是从管道中取出一个LARGE数组,然后存储到每个具有相同行数的X个文件中。
在我的用例中,获取管道的内容是超过1M亿个文件的列表...
SyntaxError
答案 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()