カッティングボード

カルマをカットしてます

ソースコードを探検する

下のアドベントカレンダーの9日目です。

www.adventar.org

 何か開発してたりして挙動等でわからないことがあり、ソースを読みに行くときありますよね。そんなときに使うと便利なコマンドがあります。知ってる人からすると当たり前のことですがgrepです。grepとは文字列を検索するコマンドで使いこなせなくても複数のオプションを知っているだけでソースコードを読み進める助けになります。

 

 まずは普通のgrepの使い方です。lsした結果をパイプでgrepに渡して検索対象文字列が含まれているものを抽出します。

f:id:cut-ter:20161209233106p:plain

 次にソースコード中からある文字列を検索するときによく使えるgrepです。rとnのオプションをつけ最後にアスタリスクをつけることで、現在のディレクトリ以下のファイルから検索対象の文字列が含まれるファイル名と対象行数、対象行を表示してくれます。cssのクラス名とかで定義ファイルを探したりするときによく使います。

f:id:cut-ter:20161209233213p:plain

 次に検索にlogファイルとかが引っかかってしまったときに使うgrepです。いろいろパイプで渡したりしていますが今回見てほしいのは最後の部分だけです。vオプションをつけて実行することで渡されたものの中で検索文字列が含まれないものを出してくれます。grepで検索かけたものにlogファイルが含まれていた時によくgrep -v logを使います。

f:id:cut-ter:20161209233413p:plain

 

 僕がよく使うgrepのオプションは上の二つくらいです。これだけでもコードを読み進めるうえですごい助けになっています。大きいプロジェクトになってきたりすると定義ファイルを探すだけで大変になってきたりしますが、grepをつかって手早く見つけましょう。linuxのコマンドは使うと便利なものがたくさんあるので使えるように頑張りたいですね。

 

 こんなコマンド使ったら便利とか、そんなもん使わないでこれ使えやとかあったら教えてください。

 

 明日のアドベントカレンダーはベです。