Ack ã³ãã³ãã便å©ãã㦠grep 使ããªããªããããªä»¶
Google+ã®ã¹ããªã¼ã ã«æµãã¦ãããã¹ãã§ååããã¦ããã®ãµã¤ãã«ç®ãã¨ã¾ã£ãã
â«grepをよく使うプログラマはどう考えても乗り換えるべき新しいgrepコマンド「ack」:phpspot開発日誌
Ackã£ã¦ããããªã«ä¾¿å©ãªã®ãï¼ãªãã¦æãã¤ã¤è¨äºãèªãã§ãããéçºè ãLTã§èª¬æãã¦ãåç»ããã£ãã®ã§ãè¦ã¦ã¿ãã
ãªãã ãã便å©ããããã¾ã¾ã§ããã¡ã¤ã«ã®ç¨®é¡ãæå®ãã¦æ¤ç´¢ããæãªãã¦ãgrep ã®å¼æ°ã« find ã®çµæã渡ããããã¦ããããããªæãã§ã
$ grep hoge `find . -name '*java' -print`
ããããããªãã
$ ack -java hoge
ãããæ¤ç´¢çµæã¯ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã使ã£ã¦ãæå®ãããã¼ã¯ã¼ããå転表示ãã¦ããããæãç©ãè¦ã¤ããããã
ãã£ããã¤ã³ã¹ãã¼ã«ã
æåãMacPortã§ã¤ã³ã¹ãã¼ã«ãããã¨ããã port ã®å®è¡ã«å¤±æãã¦ãport selfupdate ã失æãããã¨ãããã port ãåãããã«å¯¾çã
ã対å¦æ¹æ³ã
xcodeãèµ·å -> xcode -> Preference -> Downloadsã¿ã -> "CommandLineTools" ãinstall
â«sudo port selfupdate でError停止してしまった場合の対処方法 - BugDigの日記
port ã¯åãããã«ãªã£ããã©ããªããã¤ã³ã¹ãã¼ã«ã«å¤±æã
$ sudo port "perl/p5-app-ack"
Install the ack executable ã«æ¸ããã¦ããcurl ã«ããã¤ã³ã¹ãã¼ã«ã§ãµã¯ãã¨ã¤ã³ã¹ãã¼ã«ã§ããã
$ curl http://beyondgrep.com/ack-2.04-single-file > ~/bin/ack && chmod 0755 !#:3
ç°å¢å¤æ° PATH ã« ~/bin ã追å ããããã«ã~/.bash_profile ãç·¨éãã¦ãç·¨éå¾ã«èªã¿è¾¼ãã
$ vi .bash_profile $ source !$
ãã㧠ack ã³ãã³ãã使ããããã«ãªã£ãã
ã¯ã©ã¦ãã®ãµã¼ãã¼ã«ãã¤ã³ã¹ãã¼ã«ãããã£ã¨ã
ããããã°ãæ¤ç´¢çµæããç¹å®ã®ãã¼ã¯ã¼ããé¤å¤ããã®ãã§ããã®ããªã¼ãã¨ãæã£ã¦è©¦ãã¦ã¿ãã-grep ã¨åæ§ã«ã-vãªãã·ã§ã³ã§é¤å¤ã§ããã
$ ack --java Datastore | ack -v query
ãã¤ãã§æ¥ç¶ãã¦ãåãã¿ããã ãã©ãçµæ表示ããã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã®å¹æããªããªã£ã¦ããªãã
ãªããããã£ã¨ãã¾ãããæ¹ãããã®ããªï¼æ¤ç´¢ãã¼ã¯ã¼ããé¤å¤ããæ¡ä»¶ã¾ã§å«ãã¦æ£è¦è¡¨ç¾ã§æ¸ãã£ã¦ï¼