Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

[DocWiki 번역] reFind.exe, Perl 정규 표현식을 사용하는 찾기 바꾸기 유틸리티


Recommended Posts

Docwiki에 있는 "reFind.exe, the Search and Replace Utility Using Perl RegEx Expressions"를 번역한 글 (번역일: 2022년 1월 30일)

 

위로 가기: 명령줄 유틸리티 목차

 

reFind is a command-line utility for search and replacement of Perl RegEx text patterns in a text file.

reFind는 명령줄 유틸리티이다. 텍스트 파일에 펄(Perl) 정규식(RegEx)의 찾기 바꾸기를 실행한다.

 

For instructions on using reFind to migrate:

reFind를 사용하여 마이그레이션 하는 방법:

 

목차


명령줄에 표시되는 도움말 (Command-Line Help)

(역자 주, RAD 스튜디오가 설치된 윈도우에서 명령줄 창을 열고 reFind 라고 입력하고 엔터키를 누르면 영문 도움말이 나옵니다. 아래는 그 영문 도움말 중 일부를 한글로 번역한 것입니다)  

RegEx (PCRE) 찾기 바꾸기 유틸리티, v 2.5
Copyright (c) 2013 Embarcadero Technologies, Inc.

사용법: reFind <파일지정> [/S] [/Y] [/B:0|1|2] [/Q] [/I] [/W] [/L]
              [/P:<찾기 패턴>] [/R:<바꾸기 패턴>] [/X:<규칙 파일명>

  <파일지정> 무슨 파일을 대상으로 이 유틸리티를 실행할 것인지 파일명 또는 파일마스크를 명시한다.

  /?          도움말 표시.
  /S          모든 하위 디렉토리까지 검색.
  /Y          읽기 전용 파일도 변경.
  /B:0        .bak 파일이 있는 경우에 바꾸기 실행 안함 (기본 설정).
  /B:1        .bak 파일이 있는 경우에 덮어쓰기.
  /B:2        .bak 파일 생성하지 않기.
  /Q          조용히 작동. 콘솔에 결과 표시 안함.

  /I          대소문자를 가리지 않음.
  /W          전체 단어가 일치해야 함.
  /L          여러 줄 검색.
  /P          Perl 정규식 찾기 패턴
  /R          Perl 정규식 바꾸기 패턴
  /X          규칙 파일. 즉, Perl 정규식의 찾기와 바꾸기 패턴 즉 규칙 여러 개를 넣어둔 파일

규칙 파일에서 사용되는 형식:
  #unuse <유닛>                       - 명시된 유닛을 PAS 파일의 uses 절에서 제거
  #remove <프로퍼티>                  - 명시된 프로퍼티를 PAS 파일과 DFM 파일에서 제거
  #migrate [<클래스> :] <변경전 이름> -> <변경후 이름> [, <유닛>]  - 명시된 "변경전 이름"을 명시된 "변경후 이름"으로 바꾸기
                                        필요한 유닛을 uses 절에 추가할 수 있고,
                                        특정 클래스에서만 바꾸기가 실행되도록 제한할 수도 있다.
  
              규칙 파일의 각 줄마다 사용되는 바꾸기 형식:    
                <찾기 패턴> -> <바꾸기 패턴> 

 

패턴 형식 (Patterns Format)

reFind uses Perl compatible regular expressions (PCRE) for search and replacement patterns.

reFind는 PCRE(Perl 호환 정규표현식)을 찾기와 바꾸기 패턴으로 사용한다.

 

규칙형식 (Rules Format)

The rule file consists of several lines, each of them representing a single rule. The rule file may be specified using the /X:<file name> command line parameter.

규칙 파일 안에는 여러 줄이 들어간다. 각 줄 당 규칙 하나를 명시한다. 규칙 파일을 사용할 때는, 명령줄에서 /X:<규칙 파일명> 파라미터를 사용하여 명시한다. 

 

찾기 및 바꾸기 규칙

<찾기 패턴> -> <바꾸기 패턴>

<Search pattern> is a PCRE search pattern. <Replace pattern> is a PCRE replace pattern.

<찾기 패턴>과 <바꾸기 패턴> 에는 모두 PCRE 패턴을 사용한다.

 

유닛 제거하기 규칙

 #unuse <유닛 이름>

Removes the specified <unit name> from the interface and the implementation section of the "uses" clauses of the PAS files.

<유닛 이름>에 명시된 유닛을 "uses" 절에서 제거한다. PAS 파일의 interface 구역과 implementation 구역 모두에서 제거한다.

 

프로퍼티 제거하기 규칙

#remove <프로퍼티 이름>

Removes the specified <property name> from PAS and DFM files. From a PAS file, it will remove any construction like <prop> := <value>;.

<프로퍼티 이름>에 명시된 지정된 프로퍼티를 PAS 파일과 DFM 파일에서 제거한다. PAS 파일에서는 <프로퍼티> := <값>; 같이 할당하는 구문까지 모두 삭제된다.

 

전환 규칙

#migrate [<클래스> :] <변경전 이름> -> <변경후 이름> [, <유닛>]

Replaces all <old name> identifiers with a <new name> in PAS and DFM files. If the <class> is specified, then the rule will be applied only to the objects of the specified class:

 

  • DFM - only to base objects, not to inherited ones;
  • PAS - only to <obj>.<old name> constructions, not to the "with" clauses content.

PAS 파일과 DFM 파일에서 모든 <변경전 이름> 식별자를 <변경후 이름> 으로 변경한다. 만약 <클래스>가 명시되어 있다면, 해당 클래스의 오브젝트에만 이 규칙이 적용된다.

  • DFM 파일 - 기반 오브젝트에만 적용되고, 상속받은 오브젝트에는 적용되지 않는다.
  • PAS 파일 - <오브젝트>.<변경전 이름> 으로 된 것에만 적용되고, "with" 절에는 적용되지 않는다.

If the <unit> is specified, then it will be added to the "uses" clause of the PAS unit part, where the <old name> is found. The <unit> may be a comma-separated list of the units.

만약, <유닛>이 명시되어 있다면,  <변경전 이름>이 발견된 PAS 파일의 "uses" 절에 <유닛>을 추가한다. <유닛>에는 여러 유닛 이름을 쉼표로 구분하여 나열하여 명시해도 된다.

 

예문 (Examples)

  • PAS 파일에서 모든 "TQuery"를 "TFDQuery"로 바꾸기:
refind *.pas /I /W /P:TQuery /R:TFDQuery

  • PAS 파일과 DFM파일에서 "TxxxQuery"를 "TFDQuery"로 바꾸기:
refind *.pas *.dfm /I /W "/P:T[A-Za-z]+Query" /R:TFDQuery

  • PAS 파일과 DFM파일에서 모든 "TxxxQuery"를 "TQueryxxx"로 바꾸기:
refind *.pas *.dfm /I /W "/P:T([A-Za-z]+)Query" /R:TQuery\1

 

  • DFM파일에서 모든 "Origin = xxxx"를 제거하기:
refind *.dfm /L "/P:\n +Origin =.+$" "/R:"

  • BDE를 FireDAC으로 마이그레이션하기
reFind *.pas *.dfm /X:FireDAC_Migrate_BDE.txt

관련 도움말 (See Also)

이 댓글 링크
다른 사이트에 공유하기

  • Kori changed the title to [DocWiki 번역] reFind.exe, Perl 정규 표현식을 사용하는 찾기 바꾸기 유틸리티

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.