我擁有一個由5000個頁面組成的巨大文本文件。 我需要解析這個單個文本文件並創建單獨的文件。分頁符需要在包含文本'語句結束'的每個部分發生。在Windows 7中將單個文本文件解析爲單獨的文件
我是相當新的PowerShell腳本,因此將嚴重需要幫助。
請寄給我一個腳本,我將以一種方式引導我,讓我可以對代碼進行翻新以便爲我工作。
我擁有一個由5000個頁面組成的巨大文本文件。 我需要解析這個單個文本文件並創建單獨的文件。分頁符需要在包含文本'語句結束'的每個部分發生。在Windows 7中將單個文本文件解析爲單獨的文件
我是相當新的PowerShell腳本,因此將嚴重需要幫助。
請寄給我一個腳本,我將以一種方式引導我,讓我可以對代碼進行翻新以便爲我工作。
我'要避免「你怎麼嘗試,到目前爲止等等」。通用問題需要一般答案:
使用Get-Content
cmdlet加載您的文本文件,然後將其管道到Select-String
以過濾線條,那麼取決於您!
您也可以嘗試RegEx multilined分隔多行(您的網頁)。
然後你可以使用Set-Content
到xrite到另一個文件。
正如你說你是新的PowerShell中,你可以通過下面的腳本來理解其中的邏輯,提高按您的理解:
$data = Get-Content ".\Test.txt" #Reading file
$fileIndex = 1; #To create file name
for($itr = 0; $itr -le $data.Length; $itr++){
#if line is "End of Statement"
if($data[$itr] -eq "End of Statement"){
$fileIndex+=1;
continue;
}
#Check if file exists otherwise create one
if((Test-Path "$pwd\$fileIndex.txt") -eq $false){
New-Item "$pwd\$fileIndex.txt" -ItemType "File"
}
#Append text to the file
Add-Content "$pwd\$fileIndex.txt" $data[$itr]
}
的Test.txt
內容看起來如下:
This is text in part1
This is text in part1
End of Statement
This is text in part2
This is text in part2
This is text in part2
End of Statement
This is text in part3
This is text in part3
End of Statement
This is text in part4
End of Statement
This is text in part5
End of Statement
This is text in part6
This is text in part6
它將創建名稱爲1.txt,2.txt等文件。 要執行,請保持您的.ps1和.txt文件在同一個地方。
感謝ATP! 。當我改造代碼時,它不會根據「語句結束」的分頁符條件將文件分成多個文件。它只是創建一個文件1.txt幷包含所有數據。只是想提到我正在使用PS版本3 –
謝謝...但過濾後...如何創建子文件 –
然後,您可以使用設置內容。 – JPBlanc