Мне нужна помощь. У меня есть текстовый файл (468k строк), созданный системой. Я пытался разделиться, чтобы создать множество подфайлов. Все попытки терпят неудачу. попробовали циклы while, foreach, streaming, выберите, где в каждом разделе есть случайное количество строк, которые должны быть включены во вновь созданный подфайл.
$DRALIST = Get-ChildItem -path '*_dra.txt' | Select-Object $_.FullName
foreach($file in $DRALIST){
$filename = $file | Select-Object $_.FullName
$DRAline1 = Get-Content -path $file | Select-Object -First 1
$DRAline2 = Get-Content -path $file | Select-Object -Last 1
$DRAline1 = $DRAline1 - 1
$DRAline2 = [int]$DRAline2 + 2
$sectionlines = Get-Content -path '.\Sample Data\DRA\Data.dra' | Select-Object -Index ( $DRAline2..1000)
$newstreamreader = New-Object System.IO.StreamReader(".\Sample Data\DRA\RASTERS FOR WEIR.dra")
$eachlinenumber = 1
while (($readeachline =$newstreamreader.ReadLine()) -ne $null)
{
$LineType = $readeachline.Substring(0,4)
if( $LineType = 'WELL') {break :DoLoop}
Write-Host "$eachlinenumber $readeachline"
$readeachline | Out-File '_tmp.txt'
$eachlinenumber++
}
:DoLoop do{
Rename-Item .\_tmp.txt to $filename
}
until(condition)
$newstreamreader.Dispose()
}
<div>
FILE,2.0,F,Foobar<BR>
WELL,"420030020900",,<BR>
LOG,"20030020900_2897655_00396H3054314.TIF",GR Neutron (1 inch),,50,0,1664,4950,681,11556<BR>
HEAD,0,1,681,1303,0<BR>
CURV,0,1308,681,1546<BR>
DPTH,100,0,1767<BR>
DPTH,150,0,1875<BR>
DPTH,200,0,1979<BR>
DPTH,250,0,2079<BR>
DPTH,4500,0,10622<BR>
DPTH,4550,0,10726<BR>
DPTH,4600,0,10829<BR>
DPTH,4650,0,10934<BR>
DPTH,4700,0,11037<BR>
DPTH,4750,0,11139<BR>
DPTH,4800,0,11247<BR>
DPTH,4850,0,11347<BR>
DPTH,4900,0,11451<BR>
LOG,"20030020900_2897655_00396H3054314.TIF",GR Neutron (2 1/2 inch),,4480,0,11658,4980,681,14227<BR>
HEAD,0,1,681,1303,0<BR>
DPTH,4500,0,11761<BR>
DPTH,4600,0,12272<BR>
DPTH,4650,0,12528<BR>
DPTH,4700,0,12783<BR>
DPTH,4750,0,13037<BR>
DPTH,4800,0,13302<BR>
DPTH,4850,0,13563<BR>
DPTH,4900,0,13818<BR>
DPTH,4950,0,14073<BR>
WELL,"420030074300",,<BR>
LOG,"20030074300_2886661_00006H12576905.TIF",Sample Log (1 inch),,18,0,4204,49,670,10441<BR>
HEAD,0,1,670,573,0<BR>
DPTH,20,0,4606<BR>
DPTH,21,0,4803<BR>
DPTH,23,0,5205<BR>
DPTH,24,0,5406<BR>
DPTH,25,0,5608<BR>
DPTH,27,0,6010<BR>
DPTH,29,0,6413<BR>
DPTH,30,0,6612<BR>
DPTH,31,0,6814<BR>
DPTH,32,0,7017<BR>
DPTH,33,0,7219<BR>
DPTH,35,0,7621<BR>
DPTH,37,0,8024<BR>
DPTH,39,0,8427<BR>
DPTH,40,0,8628<BR>
DPTH,41,0,8830<BR>
DPTH,42,0,9028<BR>
DPTH,44,0,9432<BR>
DPTH,46,0,9835<BR>
LOG,"20030074300_2886661_00255H12576906.TIF",GR Neutron (1 inch),,50,0,1934,4900,894,11813<BR>
HEAD,0,1,894,1568,0<BR>
CURV,0,1584,894,1839<BR>
DPTH,100,0,2036<BR>
DPTH,150,0,2139<BR>
</div><BR>
[Example data screenshot][1]<BR>
[Example data screenshot][2]