特定のディレクトリ内にある複数のmdファイルから文字列を検索する方法

Linux Mintで特定のディレクトリ内にある複数のmdファイルから特定文字列を検索する方法

フォルダ(ディレクトリ)の中にある、複数のファイルから特定の文字を含むファイルを一覧で抽出するコマンド

パソコン環境

要件

LinuxMint で、特定のディレクトリの中にある「mdファイル」から「あああ」の文字列を探す bash コマンドは?

特定のディレクトリ内の .md ファイルから「あああ」という文字列を検索するには、grep コマンドを使うことができます。次のように実行します:

grep -r "あああ" /path/to/directory/*.md

右クリックで「端末で開く」を使うことが多いのでメモ。

grep -r "あああ" ./*.md

説明

このコマンドを実行すると、指定したディレクトリ内の .md ファイルに「あああ」が含まれている場合、その行が表示されます。

もし、サブディレクトリ内も含めて検索したい場合は、*.md の代わりに以下のようにしても良いです:

grep -r "あああ" /path/to/directory --include="*.md"

このコマンドでも同様に、.md ファイルの中から「あああ」を探せます。

.txt に書き出す

ターミナル画面の結果表示で、ファイル多くなりすぎると見切れてしまうので、テキストファイルに書き出したいとき:

grep -rl "あああ" ./*.md > ../search.txt
grep -rl "あああ" ./*.md > "../search_$(date +'%Y%m%d_%H%M%S').txt"

パスを指定すると、ディレクトリ内に埋もれにくいので、親ディレクトリ(../)に「txtファイルが保存」されます。