728x90
네, 동일한 일을 하는 다른(더 짧거나 가독성 높은) UltraEdit-Perl 정규식도 몇 가지 있습니다.
모두 "8개 키워드 중 하나를 포함한 줄만 남기고 나머지 줄 통째로 삭제" 합니다.
모두 "8개 키워드 중 하나를 포함한 줄만 남기고 나머지 줄 통째로 삭제" 합니다.
-
역순 매칭 (keep-pattern만 골라 남기기)
Copy
Find what : ^(?![\s\S]*_(?:a|b|c|d|e|f|원본)).*\R
Replace with:
-
\R :任何 줄바꿈(Windows/Unix/Mac) 한 방에 섭취
-
[\s\S] : 줄바꿈을 포함한 "모든 문자" (UE-Perl 에서 .은 기본적으로 줄바꿈 안 먹음)
-
긍정형 look-ahead로 "있는 줄"만 남기고 역으로 지우기
Copy
Find what : ^(?!.*_(?:a|b|c|d|e|f|원본)(?:\b|\.)).*\R
Replace with:
-
(?:\b|\.) : 키워드 뒤에 단어 경계나 점이 와야 매칭(오탈자 방지용)
-
키워드만 별도 그룹으로 묶어 가독성 ↑
Copy
Find what : ^(?!.*_(a|b|c|d|e|f|원본)).*\R
Replace with:
-
성능은 동일, 대신 그룹 캡처가 생기므로 성능 0.1% 정도 차이
-
매크리 역할 – "키워드 있는 줄"만 남기고 파일 끝까지 지우기 (파일이 크면 1~3이 더 빠르지만, 참고용)
Copy
Find what : ^(?!.*_(?:a|b|c|d|e|f|원본)).*\R|\z
Replace with: \z
-
\z : 파일 끝 마커. 남은 줄 끝에 붙여서 빈 줄 하나만 남김(필요 없으면 1~3 쓰세요)
결론
가장 간단·무식·빠른 건 1번이지만,
키워드 뒤에 반드시 구분자(공백, 점, 슬래시 등)가 와야 한다면 2번을 쓰면 됩니다.
가장 간단·무식·빠른 건 1번이지만,
키워드 뒤에 반드시 구분자(공백, 점, 슬래시 등)가 와야 한다면 2번을 쓰면 됩니다.
728x90
'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글
| 성능 테스트, 부하 테스트, 스트레스 테스트에 대해 알아보자 (0) | 2025.10.17 |
|---|---|
| 리눅스 명령어 파일 내용 추가 (0) | 2025.10.14 |
| ultraedit에서 정규식 쓰기 (0) | 2025.10.02 |
| Jenkins에서 publickey 문제 (0) | 2025.10.02 |
| PuTTY를 사용하여 서버에 접속할 때 publickey 문제 (0) | 2025.10.02 |