ackを使おう!


grep!?

便grepLinux


grep使
 





grep使
$ find . -name "*hoge" -type -f | grep -v '\.svn' | xargs grep piyopiyo


find|xargs|grepUNIX



!!!


ack使
ack
使2


(Beyond grep: ack 2.12, a source code search tool for programmers)



ackとは?

ackはgrep みたいなツールです。でかくてごちゃごちゃのソースコードを相手にしてるプログラマのために作られてるよ。
ackは全部Perlで書かれてるからPerl正規表現使えちゃう!




CPAN  App::Ack Perl

standalone versionCPAN

curl http://betterthangrep.com/ack-standalone > ~/bin/ack && chmod 0755 !#:3 ( )


MacportUbuntuFedoraGentooArch

 
Textmateユーザへ

Textmateならいいかんじのプラグインあるよ!
Check it out at: http://github.com/protocool/ack-tmbundle/tree/master

!



!grep! (Django)

ack! (Alan)

ackgrep! (Samuel)

ack! (redditBill)

grep (Thomas)

find-grep-xargs (Johnson)

--thppt /// (Daring) ( $ ack --thppt )

.svn (Paul)

standalonedevtools (Jason Gessner)

ack (Benjamin)

grep90%ack (Randall)

ack使 (Jerry)

ack使 (Andrew)

 
grepack使10



(一)

(二)PerlWindows

(三)Standalone version使

(四).svn!

?

$ grep pattern $(find . -type f | grep -v '\.svn')

$ ack pattern



(五)

VCS

blib



binary


(六).svngrep

(七)!--perl --nohtml

?

$ grep pattern $(find . -name '*.pl' -or -name '*.pm' -or -name '*.pod' | grep -v .svn)

$ ack --perl pattern

ack--perlshebangfind!




(八)ack -f 使!



$ ack -f --perl > all-perl-files



(九)

(十)GNUPerl使

(11)Perl

$ ack '(Mr|Mr?s)\. (Smith|Jones)' --output='$&'


(12)grep

-w 

-c 

-l 


(13)grep25%!grep -r50%

 

(...13)


補足

すべてのファイルを検索

拡張子なしのファイルから探すときとかは-a付ければ検索対象になります。

.ackrc

phphogebar


--type-set=php=.hoge,.bar
 

~/.ackrc


emacsから

emacser使find-grep(grep-find)
"ack --nocolor --nogroup" emacsack使!
grep-find.svnhoge~#hoge#


ack.el使
find-grep使
http://repo.or.cz/w/ShellArchive.git?a=blob_plain;hb=HEAD;f=ack.el



ack