여기에는 노트패트 프로그램을 이용한 대량 데이터 처리 자동화에 대해서 정리한다. 그때 그때 괜찮다고 생각되는 부분을 추가할 것이다.



1. 전체 개행 문자 (엔터) 지우기

  "바꾸기" 즉 Ctrl+H를 누른다. 이후 "찾을 내용"에 "\r\n"을 입력하고 "바꿀 내용"은 빈 공간으로 둔다. 즉 개행을 없애는 것이다. 아랫 부분의 "검색 모드"를 "정규 표현식"으로 선택한다. 이제 오른쪽의 "모두 바꾸기" 버튼을 클릭하면 개행이 모두 사라진 결과를 확인할 수 있다.



2. 공백 이전의 문자열 지우기

  "바꾸기" 즉 Ctrl+H를 누른다. 이후 "찾을 내용"에 "^\S+\s+(.+)$"를 입력하고 "바꿀 내용"은 "$1"로 지정한다. 아랫 부분의 "검색 모드"를 "정규 표현식"으로 선택한다. 이제 오른쪽의 "모두 바꾸기" 버튼을 클릭하면 공백 이전의 문자열이 모두 사라진 결과를 확인할 수 있다.


  즉 다음과 같은 내용을,

----

$ ls -al

$ cd ~

----

  아래와 같이 바꾸어 준다.

----

ls -al

cd ~

----


  참고로 "^"는 라인의 시작을, "$"는 라인의 끝을 의미한다. 그리고 \S+는 1개 이상의 비공백(공백이 아닌) 문자를, "\s+"는 1개 이상의 공백 (스페이스 등) 문자를 의미한다. 마지막으로 "(.+)"는 "그룹 1"을 지정하는데, 이것은 1개 이상의 문자를 (결국 해당 라인의 나머지 문자들) 의미한다. 정리해서 말하자면 라인의 시작, 그리고 1개 이상의 비공백 문자, 이후 1개 이상의 공백 문자, 다음으로 1개 이상의 문자부터 끝까지를 정의한다. 


  이에 따라 한 라인에 대하여 시작부터 끝까지 비공백 문자(들), 공백 문자(들), 나머지 문자들(그룹 1)로 나누었다. 그리고 바꿀 문자로는 앞에서 지정한 "그룹 1"인 "$1"을 지정함으로써 결론적으로 처음 공백 및 그 이전의 문자열을 지운 나머지 결과를 얻을 수 있게 된다.



3. 특정 문자열이 들어간 라인 삭제

  "바꾸기" 즉 Ctrl+H를 누른다. 이후 "찾을 내용"에 ".*대상문자열.*[\r]?[\n]"와 같이 적는다. 여기서 "대상문자열"은 이 문자열이 들어간 라인을 삭제하고 싶을 때 지정할 특정 문자열이다. 이후 "바꿀 내용"은 공백으로 둔다. 아랫 부분의 "검색 모드"를 "정규 표현식"으로 선택한다. 이제 오른쪽의 "모두 바꾸기" 버튼을 클릭하면 해당 문자열이 포함된 라인이 모두 사라진 결과를 확인할 수 있다.



Posted by SanseoLab

블로그 이미지
Malware Analyst
SanseoLab

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

글 보관함