Grep をすると、ファイル名の他に、行番号が欲しいときがあります。
-n オプションをつければ行番号がでてくる。
grep -n KEYWORD または grep --line-number KEYWORD
man(マニュアルの解説)
-n, --line-number
各出力行の前に、入力ファイルにおける行番号を表示します。
簡単に行番号が付いてきます。便利です。
ファイルの中から<?phpを検索した例
takuya@pc192168095097:~/pne/apps/pc_frontend/templates$ grep "<?php" _layout.php -n | head -n 5 4:<?php include_http_metas() ?> 5:<?php include_metas() ?> 6:<title><?php echo ($op_config['sns_title']) ? $op_config['sns_title'] : $op_config['sns_name'] ?></title> 7:<?php include_stylesheets() ?> 8:<?php include_javascripts() ?>
ディレクトリ以下から探した例
よく使うのが以下の例です。ディレクトリ以下のなかで、関数を探しています。これで関数の使用例や使用場所を探すことが多いです。私は、変数の宣言箇所・利用場所を検索しています。ctagsにも限界があるのでよくつかいます。
grep -n オプションをつける前
takuya@magi:~/pne/lib/controller$ grep genUrl ./ -R ./opMobileFrontWebController.class.php: public function genUrl($parameters = array(), $absolute = false) ./opMobileFrontWebController.class.php: return parent::genUrl($parameters, $absolute); ./opMobileFrontWebController.class.php: $url = parent::genUrl($parameters, $absolute); ./opMobileFrontWebController.class.php: $url = $this->genUrl($url, true);
grep -n オプションつけた後
takuya@magi:~/pne/lib/controller$ grep genUrl ./ -R -n ./opMobileFrontWebController.class.php:23: public function genUrl($parameters = array(), $absolute = false) ./opMobileFrontWebController.class.php:27: return parent::genUrl($parameters, $absolute); ./opMobileFrontWebController.class.php:45: $url = parent::genUrl($parameters, $absolute); ./opMobileFrontWebController.class.php:71: $url = $this->genUrl($url, true); takuya@magi:~/pne/lib/controller$