>

저는 수행해야 할 작업 중 하나가 다른 작업을 수행하기 전에 파일의 모든 문자열 인스턴스를 빈 문자열로 바꾸는 스크립트를 작성하고 있습니다. 전체 파일을 읽고 gsub를 수행하고 다시 작성하는 대신 편집하는 것이 좋습니다.

명령 줄에서이 작업을 수행 할 수 있다는 것을 알고 있습니다 :

ruby -pi.bak -e "gsub(/MyText/, '')" INSERT_FILE_NAME

그러나이 이후에 다른 스크립팅 작업을 수행해야하므로 Ruby 스크립트 내에서이 작업을 어떻게 수행 할 수 있습니까?


  • 답변 # 1

    주어진 예제에서도 "실제"내부 편집은 없습니다. 그것은 단지 하나처럼 보입니다. 실제로 Ruby는 하나의 파일을 읽고 수정 된 파일을 쓰고 이름을 바꿉니다. 이것이 바로 bak 파일을 얻는 이유입니다.

    파일이 메모리에 맞는 경우 전체 파일을 Ruby 변수로 읽고 문자열에서 교체를 수행 한 다음 문자열을 같은 이름의 파일에 쓸 수 있습니다. 기술적으로 말하면, 실제로 "제자리에서 편집하는 것"은 아니지만 찾고자하는 것에 매우 가깝습니다.

관련 자료

  • 이전 typescript - Angular 5에서 선택한 드롭 다운 값을 동적으로 설정하는 방법
  • 다음 Java 8 - 자바 8 - 술어에 따라 폴더를 반복적으로 삭제