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



이번에는 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


덧글

댓글 입력 영역