本厚木のエンジニアブログではある

日々の開発で出たエラーや日常などいろいろ書いていくブログです。

grep コマンドの使い方 ターミナル Linux

grepコマンドとは基本的にアプリケーションやファイルの中に検索したい文字列やファイル名がある場合に使います。

grepコマンドの基本的な使い方

(例)appフォルダの中にあるviewsフォルダの中にあるファイル内すべてを検索対象にして指定した文字列を検索したい場合

grep -rn 'ここは検索したい文字列' app/views/* 

このコマンドを説明しますと

grepは検索するときにお決まりのものと覚えれば良いです。
-rnはオプションになりますrがディレクトリ内を再帰的に検索するという意味です。サブフォルダも検索することと同じ意味です。
nは検索結果の出力に行番号をつけるオプションです。

'ここは検索したい文字列'ここは単純に検索したいファイルや文字列を入れるところです。

app/views/* ここはどこの中を検索するかを指定するところです。これだとappのなかのviewsの中すべてが検索対象になっています。

基本的なgrepのオプション

-G 検索に正規表現を使用できる
-E 検索に拡張正規表現を使用できる
-F 固定文字列の検索を行う
-num マッチした行から前後num行を同時に検索結果として表示する
-A num マッチした行から後num行を同時に検索結果として表示する
-B num マッチした行から前num行を同時に検索結果として表示する
-C マッチした前後2行を同時に検索結果として表示する
-b 各行の前に,ファイルの先頭からバイト単位のオフセット数を表示する
-n 各行の前に行番号を表示する
-c 検索条件にマッチした行数を表示する。-cvとするとマッチしなかった行数を表示する
-e pattern 検索条件を指定する
-f file 検索パターンとしてfileの内容を使用する
-h 検索結果の先頭にマッチしたファイル名を表示しない
-i 検索条件に大文字と小文字の区別をなくす
-l 検索条件にマッチしたファイル名を表示する。-lvとするとマッチしなかったファイル名を表示する
-q 検索結果を表示させない
-s エラーやメッセージを表示させない
-v マッチしない行を検索結果として表示させる
-w パターンやマッチを単語全体でを行うようにさせる
-x 行全体を検索対象にさせる
files 検索するファイルを指定する
-r ディレクトリ下のすべてのファイルを再帰的に読み取る。サブフォルダも検索する。