У меня очень большой текстовый файл, и я хотел бы извлечь конкретные столбцы текстового файла, которые предпочтительно начинаются с определенного шаблона, в файл xls. Данные, которые я хотел бы извлечь, начинаются с номера идентификатора дорожки (т.е. идентификатор дорожки = 20). Я хотел бы иметь возможность прочитать номер идентификатора дорожки, а затем сохранить некоторую информацию, приведенную ниже, и затем повторить ее для следующего идентификатора дорожки и т. Д. Я искал в Интернете и решил, что это возможно с помощью PowerShell в Windows.
Под изображением находится небольшая часть текста. В этом случае я хочу сохранить идентификационный номер, равный 13, а также столбцы Z (мм) и KinE (МэВ).
* G4Track Information: Particle = proton, Track ID = 13, Parent ID = 0
*********************************************************************************************************
Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName
0 0 0 1.08e+03 100 0 0 0 World initStep
1 0 0 800 100 3e-23 280 280 Tracker Transportation
2 0 0 450 100 3.75e-23 350 630 Film StepLimiter
3 0 0 438 87.1 12.9 12 642 Film hIoni
4 -0.204 -0.136 429 76.7 10.4 9.42 651 Film hIoni
5 -0.422 -0.104 421 67.3 9.43 7.53 659 Film hIoni
6 -0.679 -0.0754 415 59.3 7.94 5.98 665 Film hIoni
7 -0.899 -0.128 410 52.3 7.05 4.81 670 Film hIoni
8 -1.01 -0.141 406 45.7 6.6 3.86 674 Film hIoni
9 -1.04 -0.168 403 40.3 5.39 3.06 677 Film hIoni
10 -1.1 -0.203 401 35.3 4.96 2.47 679 Film hIoni
11 -1.13 -0.218 399 30.6 4.65 1.98 681 Film hIoni
12 -1.16 -0.191 397 26.6 4.03 1.57 683 Film hIoni
13 -1.21 -0.154 396 23.2 3.4 1.25 684 Film hIoni
14 -1.26 -0.141 395 20 3.21 1.01 685 Film hIoni
15 -1.3 -0.129 394 17.1 2.9 0.812 686 Film hIoni
16 -1.34 -0.115 394 14.4 2.74 0.651 686 Film hIoni
17 -1.31 -0.108 393 12.1 2.32 0.517 687 Film hIoni
18 -1.29 -0.12 393 9.74 2.32 0.418 687 Film hIoni
19 -1.28 -0.13 392 7.56 2.18 0.332 688 Film hIoni
20 -1.27 -0.142 392 5.41 2.15 0.261 688 Film hIoni
21 -1.27 -0.152 392 3.07 2.34 0.199 688 Film hIoni
22 -1.28 -0.156 392 0.285 2.78 0.118 688 Film hIoni
23 -1.28 -0.157 392 0 0.285 0.00319 688 Film hIoni
*********************************************************************************************************
$log = Get-Content C:\Users\kpapa\Desktop\kkk.txt
foreach ($line in $log) {
if ($line -like "*878*") {
$line | Out-File -FilePath "C:\Users\kpapa\Desktop\kkkk.xls" -Append
}
}