console.lealog();

@leader22のWeb系に関する勉強めもブログですのだ

これからはgrepではなくackを使おうと

会社のシステム担当の方の操作を見る機会がたまたまあって、そこで目についたこのコマンド。

とある日の会話

り「hogeって変数でgrepしたらわかるんじゃないですか?」
シ「ちょっと見てみますか・・カタカタ(ack...)
り「(なんやろそのコマンド)」
シ「見つけた!」
り「おー(え、grepちゃうのに!しかもはやっ!)」

というわけです。
こないだgrepについて調べたばっかやけどw

ackコマンド

Linuxのコマンドというか、Perlで書かれたスクリプトだそう。
yumでも入れれるんですって。

yum install ack
  • grepより速い
  • grepより簡単
  • grepより親切

らしいです。

ただ使い方はほとんどgrepと同じ。

使い方・オプション

基本

ack hoge
# hoge って文字をカレントディレクトリ以下から検索

すべてのファイルタイプを対象に

ack -a hoge
# なんでかコレ付けないと結果返ってこないことが多かったのはなんでやろう

特定のファイルタイプを対象に

akc --html hoge

大文字小文字を無視

ack -i

該当したファイル名のみ表示

ack -l

該当したところの前後5行も一緒に表示

ack -C 5

このへんはgrepとおんなじ。


いまのところ、

ack -ail hoge

ってよく使ってます。

そのほか

理由はわかりませんが、grepより全然早かったです。
ほんと、grepだと落ちんじゃないかと思うやつでも。
Perlだから?

ほかには.svnとかCVSとか、これはないやろ・・みたいなファイルをデフォルトで検索しないようにしてくれてて、親切です。
.gitignoreみたく、検索したくない拡張子を登録もできたりするそうな。
便利ね!

ところでackってなんの略やろう?
acknowledgeとか関係あんのかしら?