반달가면
Posts
427 posts[bash:uniq, sort] 한글 문자열에 대한 중복 제거 문제
같은 문자열의 행이 연속될 경우 중복을 제거하거나 중복되는 회수를 확인하기 위해 uniq 명령을 종종 사용하게 된다(uniq의 기본적인 활용에 대한 내용은 이전 게시물을 참고하자. 여기로). 매우 요긴한 기능을 제공하지만, 한글에서는 문제가 발생할 수 있다는 사실을 최근에 발견. 아래의 예시를 보자. 글자수가 같으면 동일한 문자열로 간주하는 것처럼 보인다. # my_data.txt 파일 내용 확인 cat my_data.txt 나비 강아지 메뚜기 메뚜기 # 중복 제거 uniq my_data.txt 나비 강아지 위의 예시에서 "강아지"와 "메뚜기"는 다른 단어임에도 불구하고 uniq에서는 "메뚜기"가 제거되었다. 인터넷을 좀 찾아보니, 지역정보(locale)와 관계가 있는 것
[bash: read, while] 공백을 포함한 이름을 가진 파일들에 대한 반복 작업 - 2
예전에 for 반복문을 이용해서 여러 파일에 대한 반복작업을 하는 방식에 대해 쓴 적이 있다(여기로). 파일명에 공백이 포함된 상황을 해결하기 위해 임시 파일을 만들고 sed까지 동원해서 스크립트를 만들었는데, 그보다 훨씬 간편하고 우아한 방법이 있어서 정리해 두기로. 예전에 적었던 while 반복문을 이용한 텍스트 파일 한줄씩 읽기와 같은 방식으로 하면 된다. 파일을 읽는 것이 아니라 ls 또는 find 명령으로 얻은 파일명에 대해 작업을 해야 하므로 파이프(|)를 이용해서 ls나 find의 결과를 while 반복문으로 넘기고, 조건에 read 명령을 적용해서 한줄씩 받아온다. 설명으로는 복잡해 보이나, 예시를 보면 간단하다. 아래의 예시를 보자. find 명령으로 홈 디렉토리(~/) 하위에 있
UHD(4k 해상도) 모니터로 인한 리눅스 민트 XFCE 전원 설정 변경
얼마전에 리눅스 민트 17.3 XFCE와 27인치 UHD 모니터의 조합을 구성하면서 폰트/아이콘 관련 XFCE 설정을 변경하고 잘 쓰고 있었는데, 최근에 새로운 문제를 발견했다. XFCE 전원 설정에서 일정 시간이 지나면 모니터를 끄도록 하는 부분이 있는데 이것이 뭔가 모니터와 맞지 않는 듯; 한참 동안 사용하지 않다가, 예를 들어 전날부터 PC를 켜 놓았다가 다음날 아침에 와서 다시 쓰려고 하면 화면이 나오지 않는 것이다. -_-; 전원 관리에서 모니터를 끈 다음에 다시 되돌아오는 부분에서 뭔가 제대로 작동하지 않는 모양이다. 디스플레이 포트 케이블을 뽑았다가 다시 끼워 보기도 하고 모니터 전원을 껐다가 켜 보기도 하고 이것 저것 해 보았는데 해결이 되지 않아서. 그냥 PC를 리셋했다. -_-;
구글 크롬 브라우저 오프라인 설치용 파일 받기
구글 크롬 브라우저를 공식 홈페이지로 가서 다운로드를 받으려고 하면 기본적으로 용량 1MB 남짓 되는 크롬 설치 프로그램을 다운로드하고, 이 프로그램이 실행되면 크롬 브라우저를 받아다가 설치하는 형태로 되어 있다. PC가 항상 인터넷에 연결되어 있다면 별 문제가 없겠으나, USB메모리로 다른 PC로 옮겨야 된다거나 인터넷 연결이 끊어져 있는 상황에서 설치를 하려면 오프라인 설치를 위한 "stand alone" 설치 프로그램을 다운로드해야 한다. 아래의 링크를 통해 들어가면 된다. 구글 크롬 오프라인 설치 파일 다운로드 웹페이지 모양은 별 차이가 없으나, url에 인자로 "standalone=1"이 들어가 있기 때문에 다운로드를 진행하면 stand alone 설치 프로그램을 받을 수 있다.
[bash: awk] awk에서 외부 명령을 실행하고 결과를 변수에 저장하기
awk에서 문자열 작업을 할 때 외부 프로그램을 실행하는 방법이다. awk 자체적으로도 제공하는 다양한 함수 외에 외부 명령을 필요로 하는 상황에서 아주 요긴하다. 예시를 하나 생각해 보자. my_data.txt 파일을 읽어서 한 행마다 MD5 해쉬값을 구해야 하는 경우다. awk에는 MD5 해쉬를 계산해 주는 함수가 없으므로 리눅스에서 제공하는 md5sum을 이용해야 한다. 먼저 md5sum 예시를 보자면 아래와 같다. # 문자열 abc의 MD5해쉬값 계산 echo "abc" | md5sum 0bee89b07a248e27c83fc3d5951213c1 - md5sum의 출력이 "[MD5해쉬값] - [파일명]" 형태이므로 해쉬값만 취하려면 cut을 이용해서 -c 옵션으로 아래와 같이 앞쪽



![[CV] [Comi] 'ファイブスター物語'(더 파이브 스타 스토리즈) 19권. 연재분에서 벌어지는 '검성 대 검성'](https://img.zoomtrend.com/2026/06/06/1780766083-ECB2ABEB93B1EC9EA5EB8DB0ECBD94EC8AA4.jpg)