Вывод нескольких файлов из одного отфильтрованного файла - PullRequest
0 голосов
/ 02 марта 2020

Привет! Я отфильтровал некоторый файл журнала, а затем превзошел результаты в файле «E: \ Filter_ $ now.log». Я просмотрел этот файл, в нем есть содержимое и журналы, затем я хочу создать несколько файлов. из отфильтрованного файла и храните их в разных папках, но это не работает, созданные файлы пусты, кто-нибудь может определить мою проблему?

$now = (get-date -f dd-MM-yyyy_HH-mm-ss).ToString()

(filtering and deleting some fields....)

Out-File "E:\filtered_$now.log" |  #output in a file 

#UPTIME
Get-Content "E:\filtered_$now.log" |  #use the outputed file to further filtering
where { $_ -match "_Uptime"} |
Out-File "E:\uptime\uptime_$now.log" |

#MEMORY
Get-Content "E:\filtered_$now.log" |
where { $_ -match "_Memoria"} |
Out-File "E:\memoria\memory_$now.log" |

#SWAP
Get-Content "E:\filtered_$now.log" |
where { $_ -match "_Memoria_Swap"} |
Out-File "E:\swap\swap_$now.log" 

некоторые примеры в отфильтрованном файле

10:41:41 03/02/2020 name:somemonitor_Uptime targets:some.target state:System\System Up Time=4087333.07102 System\System Up Time=4087333.07102 type:Windows Resources unique:1950544758

10:41:41 03/02/2020 name:somemonitor_Memoria targets:some.target state:86% virtual memory used, 6608MB virtual memory free, 1921.99245 pages/sec metrics:percent used=86primMB free=6608;pages/sec=1921.992449537446;virtual memory used %=86;virtual memory MB free=6608;physical memory used %=n/a;physical memory MB free=n/a type:Memory unique:1950492661

10:41:43 03/02/2020 name:Somemonitor_Memoria_Swap targets:some.target state:3% swap space used, 3829MB swap space free, 0 pages/sec; 69% physical memory used, 9668MB physical memory free metrics:percent used=3primMB free=3829;pages/sec=0.0;swap space used %=3;swap space MB free=3829;physical memory used %=69;physical memory MB free=9668 type:Memory unique:1950647593


1 Ответ

0 голосов
/ 02 марта 2020

На основе примера отфильтрованного журнала это может быть то, что вы ищете:

... Предыдущие команды

$filteredLog = Get-Content "E:\filtered_$now.log"

#UPTIME
$filteredLog | Where-Object {$_ -match "_Uptime"} | Out-file "E:\uptime\uptime_$now.log"

#MEMORY
$filteredLog | Where-Object {$_ -match "_Memoria"} | Out-file "E:\uptime\memory_$now.log"

#SWAP
$filteredLog | Where-Object {$_ -match "_Swap"} | Out-file "E:\uptime\swap_$now.log"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...