본문 바로가기
유틸

grep 대신에 ack 를 써보자

by __observer__ 2014. 5. 27.
반응형

리눅스에서 문자열 등을 찾을 때 grep 를 많이 사용하곤 하는데요~

 

grep 는 아래 소개 드렷던 gow 를 설치하면 윈도우에서도 사용 가능 합니다.

 

그런데 최근에 검색을 좀 해보니 grep 보다 좀더 편리한 툴이 있더군요.

 

바로 ack 라는 툴인데요.

 

저는 일단 좀 써보니 그 속도가 정말 빠르더군요. perl 로 만들어 졌다고 하던데…. 이렇게 빠른가 싶었습니다.

 

ack 의 공식 홈페이지는 다음과 같습니다.

 

http://beyondgrep.com/

 

install 방법은 아래 주소에 나와 있는데~

 

http://beyondgrep.com/install/

 

perl 의 cpan module 로도 있더군요. 모듈 이름은 App::Ack 입니다.

 

우분투 등에서는 그냥 apt-get install ack-grep 하면 설치되고~

 

저는 현재 윈도우 환경이라 아래 포스팅에서 소개드렸던 chocolatey 를 이용하여 설치했습니다. chocolatey 를 사용하면 windows 에서 다음 명령어로 ack 를 설치 할 수 있습니다.


2014/05/25 - [컴퓨터일반] - 윈도우 프로그램을 쉽게 설치해 보자~ chocolatey

 

cinst ack

 

ack 를 위에서도 애기했지만 perl 을 사용하기 때문에 윈도우 버전에 맞는 perl 이 설치되어 있어야 합니다.

 

ack 사용 방법은 아래 주소에 설명되어 있는데~ grep 를 사용해 보신 분이라면 쉽게 알 수 있을 것 같네요.

 

http://beyondgrep.com/documentation/

 

html 파일에서 field 라는 글자가 들어있는 부분을 찾기 위해서는 아래와 같이 명령어를 작성하면 됩니다.

 

ack –-html field

 

 

ack 는 기본적으로 Recurse 하게 동작하더군요. 즉 하위 폴더들을 기본적으로 다 들어가서 찾는 다는 뜻입니다.

 

Recurse 옵션이 기본적으로 켜져 있으므로 Recurse 옵션을 끄기 위해서는 –n 또는 --no-recurs 옵션을 줘야 합니다.

 

ack 의 좋은 점은 단연 속도에 있을 것 같은데요…. 정말 빨리 찾더군요.

 

아래 동영상을 보시면 8000개 정도의 파일에서 단어 검색하는데 약 2초 걸리더군요. 찾은 단어의 경우의 수에 따라 다르겠지만 빠르긴 하더군요. 쓸만 하겠죠~ 아래 동영상을 보니 vim 플러그인도 있어서 vim에서도 ack 를 사용할수 있는것 같더군요.



반응형

댓글