ターミナルから特定の文字を名前にもつファイルをfindで検索したことはあったが、ファイルの中身で検索するときはvscodeなどのエディタでしか行ったことがなかったが
ターミナルのコマンドでも比較的簡単に検索することができたのでメモとして残しておく。
grep "検索文字列" -r "検索対象のパス"
rオプションをつけることでパスがディレクトリだった場合その中身に対しても再帰的に検索をしてくれる。つまり、rオプションをつけることでパス以下のすべてのファイルに対してgrepを実行してくれる。
nオプションをつけると行番号も表示してくれるので検索に便利。
条件に当てはまるファイル名だけを取得したい場合はlオプションをつけることで、ファイルの中身に検索文字を持つファイルの名前だけをリストアップしてくれる。
//カレントディレクトリ以下で検索 grep "findByStatus" -r . ./Behavior/BillingSearchFinderTrait.php: public function findByStatusListStr(Query $query, array $options) ./Table/NotificationsTable.php: public function findByStatus(Query $query, array $options) //マッチした行番号も表示 grep "findByStatus" -rn . ./Behavior/BillingSearchFinderTrait.php:168: public function findByStatusListStr(Query $query, array $options) ./Table/NotificationsTable.php:195: public function findByStatus(Query $query, array $options) //マッチしたファイル名のみ表示 grep "findByStatus" -rl . ./Behavior/BillingSearchFinderTrait.php ./Table/NotificationsTable.php