간단하게 어떤 텍스트 파일 내에 있는 문자나 문자열을 치환하고 싶을 때 사용하면 될 것 같습니다.
대상 텍스트 파일 : Replace_text.txt
Replace_text.txt 파일 내용
테스트할 파일의 내용을
'문자'는 텍스트로
'1'은 A로
'4'는 D로
바꾸겠습니다.
우선 PowerShell에서 $replace 라는 변수에 파일 내용을 넣습니다.
(사진 2번 째 줄에 있는 echo는 입력해도, 안해도 변수값이 출력되내요..)
그리고 이제 저장된 값을 치환하고 파일을 저장합니다.
치환된 파일의 내용
아주 간단하게 치환이 끝났습니다.
단지 변수명 뒤에 -creplace 라는 옵션만 주면 손 쉽게 치환이 가능합니다.
좀 더 테스트해본 결과 -creplace 옵션을 많이 사용해도 상관이 없는듯 합니다.
그리고 당연하겠지만 한글<->영어 치환도 가능합니다..(전 한영 전환 때문에 치환하는법을 찾다가 알게 됬내요..)
저 한 줄을 이용해서 PowerShell 스크립트를 만들고 Batch File과 작업스케줄링을 활용해서 주기적으로 치환작업도 가능합니다.
그 내용은 나중에 다시 올리겠습니다.
첫 번째 명령줄 내용
$replace=get-content C:\가져올경로\파일명
두 번째 명령줄 내용
$replace -creplace '문자','텍스트' -creplace '1','A' -creplace '4','D' >> C:\새로저장할경로\Replace_text2.txt
----------------------------------- 추가 내용 -----------------------------------------
위 두 번째 명령줄 처럼 리디렉션으로 파일을 생성하면 인코딩이 유니코드로 지정되어 파일이 생성됩니다.
적절하게 파일 인코딩을 선택하고 싶으시다면 리디렉션을 이용하기보단 Powershell에서 제공되는
out-file 명령을 통해 생성하면 인코딩을 선택할 수 있습니다.
$replace -creplace '문자','텍스트' -creplace '1','A' -creplace '4','D' | out-file -encoding ascii C:\저장할경로Replace_text2.txt
' 2016년 이전 > PowerShell' 카테고리의 다른 글
배치파일을 이용해서 파워쉘 스크립트에 인자값주기 (4) | 2014.02.05 |
---|