Simplify

특정 단어를 포함한 라인 삭제 팁 - How to delete lines with a specific word in a document 본문

Other/Dev. Tips

특정 단어를 포함한 라인 삭제 팁 - How to delete lines with a specific word in a document

Simplify - Jonghun 2018. 2. 19. 13:43

특정 단어를 포함한 부분을 삭제하는 것은 간단합니다. 

특정 에디터에서 단어를 찾을 단어에 두고, 바꿀 단어를 비워둔 채로, 'Replace All' 버튼을 누르면 모든 단어들이 삭제됩니다.

아래 예시처럼 말이죠..

그런데, 특정 단어를 포함한 라인을 삭제하려는 경우도 발생합니다. 


어떤 문서에서, 어떤 단어를 포함한 라인을 모두 빼고 봐야 하는 상황인 경우에 특히 이런 부분이 필요합니다. 게다가 개발을 하시는 분들이라면 특정 필요없는 로그들을 빼고 보고싶은 경우에 아주 유용한 방법입니다. 

이 방법은 정규식(Regular Expression)을 이용하는 것으로, 아래와 같이 활용하면 됩니다.


이 예제에 사용하는 파일을 업로드 해 두겠습니다.

Sample_log_file.txt



1. Editor 를 실행합니다. 

저는 Sublime Text를 사용하고 있습니다. Notepad++ 나 기타 등등 거의 대부분의 major editor 에서 모두 지원하는 기능이니 본인이 가장 편하게 생각하는 editor 를 실행해 주세요.


2. Replace 기능을 실행합니다. 

이것 역시 거의 대부분의 에디터에서 Ctrl + H 단축키로 실행됩니다. 

그리고 '정규식 사용 부분에 체크를 하고, 찾을 내용에 아래와 같이 입력합니다. 

^.*찾는 문자열.*$rn

이 정규식은 아래와 같이 풀이될 수 있습니다. 


^ 처음에 

. 문자가 

* 0개 이상이고  

찾는 문자열이 나오고

. 문자가 

* 0개 이상 나온 뒤,

$ 끝나고(개행 미포함)

\r\n 으로 개행

Sublime Text의 경우 찾는 문자열에 대해서 실시간으로 Highlighting을 해 줍니다. 만약 위와같이 아무것도 찾지 못한 경우에는 

개행 문자열이 \r\n 이 아닌, \n 으로 적용된 문서입니다. 아래처럼 실행해 주시면 됩니다.


3. 바꿀 문자열에 아무것도 입력하지 않고 모두 바꾸기를 실행한다.

위의 결과물입니다. 



 이 처럼 정규식을 이용하면 특정 문자열을 보다 효율적으로 찾는 데 많은 도움을 받을 수 있습니다. 

정규식에 대해서는 인터넷가 각종 위키 문서를 통해서 더 자세한 내용들을 학습할 수 있으니 여기서는 설명을 생략합니다. 




출처 : 

http://blog.freezner.com/archives/1663









Comments