notepad++에서 줄 번호 찾아가기 기능에 대해 알아보겠습니다.

 


 line 수가 엄청난 파일을 다뤄야 하는 경우가 간혹 가다 있습니다. 예를 들자면 문제 출제할 때 입력 파일의 line 수가 100만줄이 넘어가는 경우도 매우 흔합니다.

 

 이 데이터 파일은 100만줄이 넘네요. 32만번째 줄에 있는 것을 정확히 찾아가려면 어떻게 해야 할까요? 그냥 스크롤 바를 올려버리는 방법도 있습니다만, 일일히 줄 번호를 찾아가기 위해 스크롤바로 이동하면 상당한 인내가 필요할 것입니다. 찾기(S)를 누르면, 줄 찾아가기라는 메뉴가 있습니다. 이를 이용하면 매우 간단합니다.

 

 줄 찾아가기의 단축키는 Ctrl+G입니다. 이것을 눌러 주겠습니다.

 

 그러면 메뉴 선택창에 줄과 오프셋이 있습니다. 오프셋은 밑에서 후술하겠습니다. 이동할 줄 번호를 320000으로 입력해 보겠습니다.

 

 그러면 정확히 32만번째 줄로 이동합니다. bylrzt[wed8이라는 내용이 있는 걸로 보아서는 이상한 제너레이트 알고리즘으로 데이터를 생성한 거 같습니다. notepad++에서 줄 번호를 찾아가기 위해서는 ctrl+G를 누르면 됩니다. 다음에, 줄을 선택하고, 이동할 줄 번호를 적고, 이동을 누르면 됩니다.

 


 그런데, 오프셋으로 기능도 있습니다? 이 기능은 무엇을 하는 것일까요? 이동 가능한 마지막 줄 번호가 48047787인데요. 이 파일의 크기가 48047787byte임을 의미합니다. 14번째 오프셋으로 이동해 보겠습니다.

 

그러면 2번째 줄의 teg 앞에 오프셋이 이동했음을 볼 수 있습니다. 이는, 500000 500000이 13자이고, 13번째 offset이 1번째 줄의 끝을 가리키기 때문이에요. 1칸 더 이동하면, 2번째 줄의 시작을 가리킵니다. 즉, byte 단위로 이동하고 싶을 때 쓰면 됩니다.

 

 이런 경우는 어떨까요? 한글과 영어가 섞여 있습니다. 인코딩 형식은 UTF-8입니다. 즉, 한글이 3byte이고 ascii가 1byte입니다. 이 경우, offset을 6으로 설정하면 어떻게 될까요? 한 번 그렇게 해 보겠습니다.

 

 ctrl+G를 누른 다음에 오프셋을 선택합니다. 다음에 이동할 줄 번호를 6으로 적고 이동을 누르겠습니다.

 

 그러면 는 앞에 커서가 이동합니다. 이는 가와 희가 UTF-8 인코딩에서는 3byte씩이나 차지하기 때문입니다. 즉, 오프셋은 byte 단위로 먹힌다는 것만 짚고 가셔도 되겠습니다.