-- PowerShell

복수 개의 파일의 내용을 변경

어린왕자악꿍 2011. 8. 16. 18:09

이번에는 PowerShell 이용해서대량의파일을대상으로내부내용을 변경하는방법을찾아보았습니다. PowerShell 에는 -replace 연산자가존재하는데, 마치 리눅스의 sed 명령어처럼 있습니다.

 

"wow nice olleh" | %{$_ -Replace ("nice","OLLEH")}
 

만약, "MyDocument" 디렉터리및하위디렉터리의 모든 *.txt 파일을대상으로파일내용 "nice" "OLLEH" 라고바꾸고싶다면, 아래명령어를사용하면됩니다.

 

dir -Path MyDocument -Include *.txt -Recurse | %{$tmp = Get-Content $_; $tmp=$tmp -Replace ("nice","OLLEH"); Set-Content $_ $tmp}
 

파일의내용 nice 모두 OLLEH 변경것을확인있습니다.

출처 : http://blog.daum.net/sharer77/6900209