Windows에서 문자열을 대체하는 SW

Windows에서 문자열을 대체하는 SW

명령줄을 사용하여 변경할 수 있는 텍스트 파일(실제로는 XML)이 있습니다. 즉, Windows 배치의 일부로 문자열(이 경우 파일의 다른 곳에 없는 문자를 사용하는 @@@@)을 찾은 다음 이를 다음과 같은 간단한 문자열로 바꾸고 싶습니다. 날짜는 '11/8/18'입니다.

짧은 순서로 문자열을 바꾸는 일종의 'grep', 'perl' 또는 다른 유형의 방법이 있습니까? 다시 말하지만 프로세스를 자동화하고 싶기 때문에 이것은 명령줄을 통해 이루어져야 합니다.

덧붙여서, 내 PC에는 Active State PERL이 있습니다.

답변1

파일에서 모든 항목을 findthiswith로 바꾸려면 다음을 수행하십시오.replacetoexample.txt

perl -pi -e 's/findthis/replaceto/g' example.txt 

답변2

이미 가지고 있는 답변에는 아무런 문제가 없지만 옵션에 추가하기 위해 Windows 7을 사용하는 경우 powershell도 설치되어 있음을 지적하겠습니다. 또는 원한다면 XP/Vista에 설치할 수도 있습니다. 그 다음에:

$foo = gc C:\Path\To\File.txt; $foo | %{$_.replace('@@@@', '8/1/11')} | Out-File C:\Path\To\File.txt

답변3

grep을 아시는 것 같습니다. 다음과 같은 유틸리티를 사용할 수도 있습니다.윈도우에서 사용 가능. 따로 설치할 필요는 없고 해당 경로(또는 배치 파일이 실행되는 폴더와 동일한 폴더)에 넣어두기만 하면 됩니다. 이를 사용하는 경우 "종속성"과 바이너리 파일을 다운로드하는 것을 잊지 마십시오(또는 원하는 경우 설치 실행 파일을 다운로드하십시오).

또는 VBS 언어(Windows XP용 스크립트 언어)를 사용하고 파일의 문자열을 바꾸는 스크립트를 생성할 수도 있습니다(자세한 내용은 이 링크를 참조하세요) 다음을 사용하여 명령줄에서 스크립트를 실행합니다.cscript

관련 정보