2016-04-07 10 views
-4

Belirli şeylerin ayıklanmasını istediğim bir satırdan yeniden. Örnek: Şu an sahip olduğum: Bu bir test 2016/01/23 Bu test 04:05 AM Bu bir test Başarı Girişi 01.33 saniyedir. Sadece tarih, saat & başarı süresini nasıl ayırabilirim. Bu nedenle çıktıPS Komut Dosyası için düzenli ifade satırı oluşturmak

(2016/01/23 04:05 AM Başarı 01.33 sn).

Yardımlarınız için teşekkür ederiz. Şerefe!

cevap

0

Yanıt vereceğime şüpheliyim ve daha sonra yorumunu yapacaksınız "Gerçek verilerim tamamen farklı mı? Bunu nasıl eşleştirebilirim?". Bakalım.

# Here is your log line 
$logLine = 'This is a test 2016/01/23 This is test 04:05 AM this is a test Success Login at 01.33 sec' 

# Here is my regex which matches 
#   * date   * time AMPM * Success Login  time  * 
$myRegex = '.*(\d{4}/\d\d/\d\d).*(\d\d:\d\d \S\S).*Success Login at ([0-9.]+ \S+).*' 

# Here is the test and output building 
if ($logLine -match $myRegex) { 
    Write-Host "($($matches[1]) $($matches[2]) Success $($matches[3]))" 
} else { 
    Write-Host "Log doesn't match" 
} 
+0

Teşekkürler! İşe yarıyor. Tek şey. Bir sonraki satıra geldiğimde hala Başarı gösteriyor. Başarısızlık/başarı ile nasıl sıralayabilirim? Girişini takdir ediyorum. –

+0

@SamTam Ne demek istiyorsun? Bir sonraki çizgi neye benziyor? Ne sıralamak istersin? – TessellatingHeckler