
contig.exe의 출력 파일을 쉼표로 구분된 값 파일로 구문 분석하려고 합니다. 이를 수행하는 방법은 Notepad++를 개발했지만 구문 분석해야 하는 파일 수(수백 개의 텍스트 파일)가 주어지면 명령줄이나 PowerShell을 사용하여 자동화된 방법을 사용하고 싶습니다.
예를 들어 다음과 같이 바꾸고 싶습니다.
Contig v1.7 - Makes files contiguous
Copyright (C) 1998-2012 Mark Russinovich
Sysinternals - www.sysinternals.com
Processing E:\$Mft...
E:\$Mft is in 80309 fragments
Processing E:\$Mft::$BITMAP...
E:\$Mft::$BITMAP is in 2202 fragments
Summary:
Number of files processed : 2
Average fragmentation : 41255.5 frags/file
...이것에:
E:\$Mft,80309 fragments
E:\$Mft::$BITMAP,2202 fragments
어떤 아이디어가 있나요? 감사해요!
답변1
powershell에서는 연산자를 사용하여 정규식을 적용한 -match
다음 각 일치 항목을 쉼표로 구분하여 출력합니다.
contig.exe | foreach-object{ if($_ -match "(.*) is in (.*)") {"`"$($Matches[1])`",`"$($Matches[2])`""}}
산출:
"E:\$Mft","80309 fragments"
"E:\$Mft::$BITMAP","2202 fragments"
공백이 있는 열을 처리하기 위해 열을 따옴표로 묶었습니다.