Development2016.09.29 12:47

다량의 데이터를 추출하면 필연적으로 정렬에 대한 필요성이 생깁니다. 정렬이 필요한 순간은 정말 다양하겠지만 대표적인 경우들을 들어보자면, 1) 특정한 조건에 만족하는 로그 라인의 갯수를 오름/내림 차순으로 정렬, 2) 시계열 순으로 로그가 추출되지 않은 경우, 시간 컬럼을 기준으로 로그 라인을 정렬과 같은 것이 있습니다. 1의 경우는 카운트를 위한 명령을 파이프로 연결후 쉽게 정렬할 수 있습니다.


$ cat domain.log | awk '{print $3}' | sort


위의 커맨드는 domain.log 파일을 핸들링하면서 세번째 열을 출력하고 이를 정렬하는 명령어 입니다. 여기에 파이프를 추가하여 유니크(Unique)한 이름을 발라내고, 다시 카운트된 갯수를 기준으로 정렬하려면 아래와 같은 명령을 생각할 수 있습니다.


$ cat domain.log | awk '{print $3}' | sort | uniq -c | sort -rn


그런데 특정한 컬럼을 기준으로 정렬하되 전체 데이터를 유지하려면 awk 명령으로는 왠지 좀 불편한 느낌입니다. 이때는 awk 를 이용하지 말고 sort 명령만으로 정렬하는 것이 더 유리합니다. 


$ cat domain.log | sort -k 3


이렇게 하면, 세번째 컬럼 (이때는 공백으로 각 컬럼이 나뉘어진 데이터라 가정했습니다) 을 기준으로 정렬후 데이터를 출력해 주게 됩니다. 자주 쓰는 명령인데 쓸때마다 자꾸 구글링하게 되어 블로그에 기록해 둡니다!



저작자 표시 비영리
신고
Posted by 노피디
Cloud Tech./Server2016.07.01 10:17

가끔 사용중인 리눅스 배포판의 버전과 커널의 버전 확인이 필요할때가 있습니다. 워낙에 배포판도 많고 커널의 버전도 다양하기 때문에 환경에 적합하게 구성된 패키지를 설치하지 않는 경우 이슈가 생길수도 있기 때문이지요. yum 이나 apt-get 으로 설치하는 경우에는 별 문제가 없겠지만 별도로 어플리케이션을 다운로드 받거나 빌드할 필요가 있을때는 버전을 잘~ 맞추어줄 필요가 있습니다.


Cent OS 를 이용하는 경우 아래와 같은 명령을 이용해서 운영체제의 버전과 커널의 버전을 확인할 수 있습니다. redhat 과 같은 다른 배포판 역시 비슷한 네이밍 컨벤션을 사용하고 있기 때문에 해당 폴더에서 어렵지 않게 관련된 파일을 확인할 수 있으니 참고하시기 바랍니다. 자꾸 까먹게 되어 블로그에 기록해 둡니다. 누군가에겐 또 도움이 되리라 믿으며..!!



#cat etc/centos-release

#uname -r 



저작자 표시 비영리
신고
Posted by 노피디
Development2013.10.11 15:45
가끔 리눅스나 Mac OS 환경에서 배치파일을 만들어야 할 때가 있다.
자주 쓰면 잊어버리지 않을텐데, 가끔 쓰다보니 할때마다 자꾸 찾는거 같다.

chmod a+x [파일명]


chmod 옵션중 a 는 모든 유저를 나타내며
x 옵션이 Execute 를 나타내는 옵션이다.
까먹지 말고 적어두자 ^^


참고 : 

더보기


Unix Executable File / Linux Executable File / Mac Executable File

- NoPD -
 
저작자 표시
신고
Posted by 노피디
Cloud & Dev. Story2013.07.19 09:01
리눅스 계열의 운영체제를 사용하다 보면 참 편리하게 쓰는 것이 apt-get 이나 yum 과 같은 패키지 관리자다. 업데이트가 필요한 패키지를 확인해주고 간단한 명령으로 설치해주는 것은 바쁜 현대인들(?)에게 무척이나 반가운 기능일 수 밖에 없다. 당연히 같은 피가 섞여 있는 맥 운영체제 Mac OS 에도 둘 중 하나는 있겠지 했으나 현실은 그렇지 못했다.


그러던 중 찾은 것이 바로 Homebrew 라는 도구. 맥 운영체제인 OS X 에서 사용할 수 있는 루비 기반의 패키지 관리도구다. 사용방법은 apt-get 이나 yum 과 크게 다르지 않다. Ruby 스크립트를 이용해서 보다 체계적인 사용도 가능하다는 것이 장점. 설치 방법도 간단해서 굳이 Hoembrew 웹사이트 (http://brew.sh/) 를 방문할 필요도 없이 터미널에서 아래 명령어를 입력하면 끝.

 
이제 Mac OS X 에서도 간단하게 패키지를 설치하는 기쁨을 맛보도록 해보자. 아직도 내겐 너무 어색한 Mac OS X ~

- NoPD - 
저작자 표시
신고
Posted by 노피디

티스토리 툴바