[bash:uniq, sort] 한글 문자열에 대한 중복 제거 문제
By 반달가면 | 2016년 12월 29일 |
같은 문자열의 행이 연속될 경우 중복을 제거하거나 중복되는 회수를 확인하기 위해 uniq 명령을 종종 사용하게 된다(uniq의 기본적인 활용에 대한 내용은 이전 게시물을 참고하자. 여기로). 매우 요긴한 기능을 제공하지만, 한글에서는 문제가 발생할 수 있다는 사실을 최근에 발견. 아래의 예시를 보자. 글자수가 같으면 동일한 문자열로 간주하는 것처럼 보인다. # my_data.txt 파일 내용 확인 cat my_data.txt 나비 강아지 메뚜기 메뚜기 # 중복 제거 uniq my_data.txt 나비 강아지 위의 예시에서 "강아지"와 "메뚜기"는 다른 단어임에도 불구하고 uniq에서는 "메뚜기"가 제거되었다. 인터넷을 좀 찾아보니, 지역정보(locale)와 관계가 있는 것
MX 리눅스 18.3에서 리얼텍 RTL8821CE wi-fi 무선랜 드라이버 설치
By 반달가면 | 2019년 6월 16일 |
이전에 작성했던 "HP 255 G7-6WW80PA 노트북에 리눅스 설치" 게시물에서 이어지는 내용이다. MX 리눅스 18.3을 설치한 후, wi-fi 무선랜이 인식되지 않아서 예전에 쓰던 USB 무선랜 어댑터를 장착하고 인터넷을 헤맨 결과, HP 255 G7-6WW80PA 노트북의 무선랜 칩셋이 리얼텍 RTL8821CE라는 점을 알았다. 드라이버 설치 방법도 찾았다. MX 리눅스 뿐만 아니라 다른 데비안/우분투 계열에서도 가능할 것으로 보인다. 아래와 같이 작업하면 되겠다. MX 리눅스 18.3에서는 추가로 S/W 패키지를 설치할 필요가 없었는데, 다른 데비안/우분투 계열 배포판이라면 아래와 같이 패키지 설치를 해야 할 수도 있다. # S/W 저장소 정보 갱신 sudo apt-get
[리눅스커널] 익명 페이지 메모리 누수(Memory Leak) 디버깅 - TRACE32
By Guillermo Austin Kim | 2019년 12월 16일 |
많은 리눅스 시스템 개발자들은 자신이 개발하고 있는 리눅스 커널의 버전이 주류였으면 하는 바램이 있다. 하지만 현실은 다르다. 현재 리눅스 커널의 최신 버전인 4.19(LTS 기준)으로 개발하고 있어도 이전 리눅스 커널 버전에서 다뤘던 자료 구조에 대해 알고 있어야 한다. 이번에는 커널 3.10 버전에서 struct anon_vma 구조체와 struct address_space 구조체의 관계에 대해 알아보겠다. 먼저 다음 TRACE32 명령어를 입력해 3번째 프레임의 페이지 디스크립터를 확인하자. $(TRACE32 명령어) v.v %d %t %h %i (struct page[0x7FFF])*mem_map (static struct page [32767]) (struct page[0x7FFF])*me