none
PowerShell에서 Text파일 빠르게 파싱하는 방법 RRS feed

  • 질문

  • PowerShell에서 기존 방법으로 Text파일 파싱을 하는데 속도가 느립니다.

    다른 방법이 없을 까요?

    • 편집됨 김도남 2011년 9월 28일 수요일 오전 8:13
    2011년 9월 28일 수요일 오전 8:13

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “PowerShell에서 Text파일 빠르게 파싱하는 방법에 대한 답변을 드리겠습니다.

               

    Step 1 : Foreach 구현

     

    파이프(|)을 사용해서 구현을 하면 상대적으로 Foreach문 보다 느립니다.

    아래와 같이 Foreach문으로 구현을 합니다.

     

    foreach($line in (Get-Content $env:windir\windowsupdate.log `

    -ReadCount 0 -Encoding UTF8)) `

    Step 2 : 필터링

     

    if문을 이용해서 필터링을 할 수 있습니다.

    if ($line -like '*successfully installed*') `

    { ($line -split ': ')[-1]}}

     

    Step 3 : Full Script

     

    foreach($line in (Get-Content $env:windir\windowsupdate.log `

    -ReadCount 0 -Encoding UTF8)) `

    { if ($line -like '*successfully installed*') `

    { ($line -split ': ')[-1]}}

     

    참고 자료

     

    Using the Get-Content Cmdlet

    http://technet.microsoft.com/en-us/library/ee176843.aspx

    Using the Where-Object Cmdlet

    http://technet.microsoft.com/en-us/library/ee177028.aspx

     

    Using the Foreach-Object Cmdlet

    http://technet.microsoft.com/en-us/library/ee176828.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 김도남 2011년 9월 29일 목요일 오전 12:55
    2011년 9월 28일 수요일 오전 8:31
    중재자