perl에서 search n replace 옵션을 사용하려고 할 때 문제가 있습니다.검색에서 변수 사용 n은 perl로 바꿉니다
이것은 유닉스에서는 문제가되지 않지만 윈도우에서만 나타납니다. 변수를 사용하여 파일을 검색하고 원하는 문자열로 바꿉니다. 또한 perl 스크립트의 한 줄에서 사용하고 있으므로 문제가 추가됩니다!
$oldstring = 1234;
$newstring = 6789;
system("perl -pi.back e s/$oldstring/$newstring/g $filename");
디렉토리에서 파일 이름을 검색하여 한 줄로 입력으로 전달하고 있습니다. 출력 파일에는 변화가없는 것으로 보이지만 경고 나 실패도보고하지 않습니다.
나는 시도 예상대로system("perl -pi.back e 's/$oldstring/$newstring/g' $filename");
왜 검색이 N 작동하지 않는 대체되고, 너무 다음? 당신은
system()
과 명령 행을 인용 적절한 필요
이 유효 펄'아니다 $ oldstring = 1234 $ newstring = 6789'입니다. 각 행의 끝에';'가 없습니다. 실행중인 실제 코드를 게시하십시오. –
@ztirom - 서식 지정 편집에 감사드립니다. – joe
@ Dr.Avalanche - 죄송합니다. 여기 내 첫 번째 게시물입니다. 그것은 대본입니다, 저는 단지 관련 부분 만 게시하려고했습니다. 여전히 실수였습니다. 귀하의 솔루션에 대해 – joe