【シェル】grepコマンドで文字列で検索【macOS】

【シェル】grepコマンドで文字列で検索【macOS】

この記事では、よく使うgrepコマンドの使用例を紹介いたします。

grepコマンドは文字列を検索するのに特化したシェルコマンドです。grepを使えばファイル検索などがとても便利になります。

ここでは私がmacOS上で使ったコマンドを忘備録として記録しておきます。ぜひご参考ください。

ファイルの中身を文字列で検索してパスを一覧表示したい

ディレクトリ内を再帰的に検索

ファイルの内容をキーワードで検索し、指定のディレクトリ下を再帰的に検索するには次のとおりです。

$ grep -lr {キーワード} {起点となるディレクトリのパス}

実際は次のような使い方をします。

$ grep -lr 'Flutter' . 

オプションの意味

さきほど使った grep のオプションの意味は次のとおりです。

オプション 意味
-n (--line-number) 検索結果に行番号を表示
-l (--files-with-matches) 検索結果にファイル名のみ表示
-r (--recursive) ディレクトリ下のファイルを再帰的に読み取る

指定した拡張子のみをターゲットにしたい

指定した拡張子のみをターゲットにしたい場合は、--includeオプションにワイルドカードを指定すれば可能です。

$ grep -lr 'Flutter' . --include='*.md'

これ以外にも grep でできる便利なことはたくさんあるので、今後も追記していきたいと思います。

他のコマンドと組み合わせる

ここからは、他のコマンドと組み合わせたgrepコマンドの活用事例をご紹介します。

ls + grepでディレクトリのみ表示

$ ls -al | grep ^d                              
drwxr-xr-x@ 23 mopipico  staff    736 Jul 16 20:35 .
drwxr-xr-x@ 11 mopipico  staff    352 Jul 16 19:03 ..
drwxr-xr-x  13 mopipico  staff    416 Jul 16 20:28 arduino-pulse-oximetry
drwxr-xr-x  10 mopipico  staff    320 Jul 16 20:35 arduino-thermistor
記事に関するご質問などがあれば、
Twitter または お問い合わせ までご連絡ください。
関連記事