(調査でよく使う) grepとfindコマンドで検索する方法まとめ

(調査でよく使う) grepとfindコマンドで検索する方法

 

エラー箇所やファイルの特定など、調査でよく使うコマンドとして
grepコマンドとfindコマンドがある。これらは日常よく使うので、メモ。

 

特定の文字列を含むファイルを検索したい:grepコマンド

grepコマンドは、特定の文字列を含むファイルを検索できるコマンドだ。
エラー文字列の出力箇所がどこか調査したり、変数やファンクションの使用箇所を調べたり、、とにかくいろんな場面で日常良く使うコマンドだ。

 

おすすめは「-rnオプション」

-rnオプションを使用することで、

  • ディレクトリを再帰的に検索してくれる(rオプリョン)
  • 検索にヒットした行数を表示してくれる。(nオプション)

 

#「function check(」と言う文字列を、カレントディレクトリから検索

grep -rn "function check(" .

 

サクラエディタのgrep機能に近い感じの結果になるのでおすすめしただけだが、個人的にはこれが一番わかりやすいかな〜と思っている(サクラエディタみたい検索結果の場所へジャンプはできないが、、)。

他にもオプションはたくさんあるので、自分なりに試してみて、いざと言う時のために引き出しをいくつか作っておくと便利。

 

 

ファイル名やディレクトリ名を検索したい:findコマンド

findコマンドは、ファイルやディレクトリ検索ができるコマンドだ。
オプションによって様々なパターン検索ができる。

 

ワイルドカードでfindする

一番使用頻度の高いワイルドカードでのfind検索
ちょっとファイルの忘れちゃったな〜とかゆう時に使う(あんまり上位階層からやると大変だけど)。
使い方は下記。

# .jsで終わるファイルをカレントディレクトリ以下から検索

find . -name \*.js
ワイルドカードを使用したfindコマンド

 

「*」を使用して、曖昧検索することができる。
「*」の前には\(バックスラッシュ)をつけるのを忘れずに(または“*.js”としてもOK)

うろ覚えのファイル名だったり、上記のように拡張子で検索したりできるので、呪文のように覚えておくと便利。

また「*」は複数文字列を曖昧検索してくれるのに対し、「?」を使うと、?の部分の1文字だけ曖昧検索にしてくれる(ぶっちゃけ*を覚えていれば日常では大体事足りるが、参考までに)。

 

また別記事にて、-mtimeオプション(指定した日付以内に変更があったファイルを検索する)の使い方を紹介しているので、よければこちらも参考にしていただきたい。

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。