[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
2022-03-14 04:57:45
質問
私は、Linuxシステム全体から、特定の文字列を含むすべてのファイルをスキャンする方法を見つけようとしています。明確にするために、私はファイル名ではなく、ファイル内のテキストを探しています。
その方法を調べていたところ、この解決策に2度出会いました。
find / -type f -exec grep -H 'text-to-find-here' {} \;
しかし、うまくいきません。システム内のすべてのファイルが表示されるようです。
これは正しい方法に近いのでしょうか?そうでない場合、どのようにすればいいのでしょうか?ファイル内のテキスト文字列を検索するこの機能は、私が行っているいくつかのプログラミング・プロジェクトに非常に役立ちます。
どのように解決するのですか?
以下を実行してください。
grep -rnw '/path/to/somewhere/' -e 'pattern'
-
-r
または-R
は再帰的です。 -
-n
は行番号、そして -
-w
は単語全体のマッチを意味する。 -
-l
(小文字のL)を付けると、マッチしたファイルのファイル名だけを与えることができます。 -
-e
は検索時に使用されるパターンです
これらと一緒に
--exclude
,
--include
,
--exclude-dir
フラグを使用することで、効率的な検索が可能になります。
- これは、拡張子が.cまたは.hのファイルのみを検索します。
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
- 拡張子が.oで終わるすべてのファイルを検索対象外にします。
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"
-
ディレクトリの場合、1つまたは複数のディレクトリを除外するには
--exclude-dir
パラメータを使用します。例えば、dir1/, dir2/ と *.dst/ にマッチする全てのディレクトリを除外します。
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
これは、あなたのようなほとんど同じ目的を達成するために、私のために非常によく機能します。
その他のオプションについては
man grep
.
関連
-
Centos7のインストールと展開無料のconfluence wikiの(知識ベース)詳細な操作手順
-
Linux Mintで入力メソッドを削除する方法は?Linux Mintで冗長な入力メソッドを削除するためのヒント
-
[解決済み] mkdirのオプションが明確でない
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] Linuxのディレクトリ内のファイルを再帰的にカウントする
-
[解決済み] grep --exclude/--include構文を使って特定のファイルをgrepしないようにする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
centos7 インストール クリックハウスとセット ユーザー名 パスワード ケース 詳細
-
Linux NICがRTNETLINK answersというエラーで起動できない場合、どうすればよいですか?ファイルが存在するか?
-
ディープインシステムの画面解像度を設定する方法は?ディープインシステムの解像度を設定する方法
-
makeの低レベルエラー:セパレータストップがない
-
リクエスト・エンティティが大きすぎる問題の解決策
-
[解決済み] コマンドラインからディレクトリ内のファイルを検索する
-
[解決済み] すべてのディレクトリとサブディレクトリを再帰的にgrepするにはどうしたらいいですか?
-
[解決済み] grepを使ってフォルダ内の単語を検索するにはどうすればよいですか?
-
[解決済み】特定の拡張子を持つファイルのみを再帰的にgrepするにはどうすればよいですか?
-
[解決済み】`find`が.svnディレクトリを無視するようにするにはどうしたらいいですか?