現在、適切な形式ではないテキストファイルをどのように解析できるかを理解する上で助けが必要です。そのため、ログの内容を読みにくいです。テキスト入力ファイルは以下のようになります。テキストファイルを解析する助けが必要
========== Test1 (1) ========== Id UTC Date/Time Message 4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Messagel Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3,4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message2 Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3.,4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message2 Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3. ========== Test2 (1) ========== Id UTC Date/Time Message 4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message2 Name='xyz', Connection='Usb', Fleet Report Id='ca9d09e7-1564-4066-8f5e-6a123456', Fleet Proxy Id ='0fsfsda7-c7e8-4bb2-9dd4-2f4c3b2498a3,4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message2 Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3.,4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message2 Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3.
複数のセクション{にTest1 test2は... n}は、それぞれのセクションがありますが、複数のID UTCの日付時刻とメッセージが含まれても、すべてのセクションは
で始まり、
で終了します表形式で並べるにはどうすればいいですか?表形式で以下のようにフォーマットされるように、出力を必要とする:
ID UTC Date/Time Message ========== Test1 (1) ========== Id UTC Date/Time Message 4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Messagel Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3. 4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message2 Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3. 4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message3 Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3. ========== Test2 (1) ========== Id UTC Date/Time Message 4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message1 Name='xyz', Connection='Usb', Fleet Report Id='ca9d09e7-1564-4066-8f5e-6a123456', Fleet Proxy Id ='0fsfsda7-c7e8-4bb2-9dd4-2f4c3b2498a3, 4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message2 Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3, 4d1eb19c-5420-4bb2-9e21-65880eb90429 08-30T01:26:24Z Message3 Name='abz', Connection='Usb', Fleet Report Id='ca9d3457-1564-4066-8f5e-12345678', Fleet Proxy Id ='ghjfda7-c7e8-4bb2-9dd4-2f4c3b2498a3.
これは私が試してみましたが、それはテキストファイル内のすべてのコンテンツを解析していないものです。
$file = Get-Content -path .\ViewSource.txt | Where-Object {
$_ -ne ""
} | ForEach-Object {
$_ -replace '<[^>]+>', ''
}
foreach ($line in $file) {
$elements = $line.Split(" ", [StringSplitOptions]::RemoveEmptyEntries)
[PSCustomObject]@{
Id = $elements[8]
UtcDateTime = $elements[9]
Message = $elements[10..19] -join " "
}
}
すべてのセクションの開始と終了の表示を忘れています。また、複数のセクションがあるときにソースファイルがどのように見えるかははっきりしません。投稿ビットの場合は、 '' '(Get-Content。\ 1.txt)のようなものを使うことができます - '^(= +。+?= +)(。+)'、 '' $ 1'r'n'r 'n' $ 2'r'n" | Out-File r:\ 2.txt -Encoding utf8''' – wOxxOm
最初に試したことをお見せください。あなたは少なくともいくつかの努力を示していることが期待されます。現時点では、これはSOが何であるかではないコード書き込み要求として読み込まれます。 – Matt
あなたの助けをありがとう...それは
で始まる========== Test1(1)========== Id UTC Date ..
– Sam