GNU/Linux >> Linux の 問題 >  >> Linux

プロジェクト内の多くのファイルから特定のコード行をすばやく検索する方法

Linux/Unix には grep というコマンド ライン ツールがあります。 これを使用して、複数のファイルで文字列を検索できます。 strcpy を検索したい場合の例 すべてのファイル:

~/sandbox$ grep -rs "strcpy"*
test.c:    strcpy(OSDMenu.name,"OSD MENU");

-r 検索を再帰的に行うため、検索されたすべてのディレクトリ (現在のディレクトリから) 内のすべてのファイルを取得します。 -s 読み取り不可能なファイルに遭遇した場合に備えて、警告を無視します。

何かカスタムを検索したいが、-i のようなオプションがあるケースを思い出せない場合 大文字と小文字を区別しない検索を可能にします。

~/sandbox$ grep -rsi "myint" *
test.c:    int myInt = 5;
test.c:    int MYINT = 10; 

探していたものが呼び出されたことを正確に忘れた場合に備えて、正規表現を使用することもできます (実際、「grep」という名前は sed コマンド g/re/p -- global/regular expression/print:

に由来します)。
~/sandbox$ grep -rsi "my.*" *
test.c:    int myInt = 5;
test.c:    int MYINT = 10;
test.c:    float myfloat = 10.9;

*nix を使用していない場合は cygwin をインストールし、find/grep を使用します。

find . -name '*\.[ch]' | xargs grep -n 'myfuncname'

ターミナル/コマンド ラインを使用して、grep を使用してファイルを検索できます。

grep -R "string_to_search" .

-R 再帰的に、すべてのサブディレクトリも検索

次に、必要な文字列

次に、場所です。現在のディレクトリ


Linux
  1. シェルの歴史を検索する最良の方法は?

  2. Locateコマンドを使用してLinuxでファイルをすばやく検索する

  3. Linuxでファイルを検索するには、検索と検索を使用します

  1. ファイル内の複数行パターンを検索するにはどうすればよいですか?

  2. 複数行検索用の正規表現 (grep) が必要

  3. 複数のpdfファイルの内容を検索するには?

  1. 実行する前に再帰的なSed検索をテストして置き換えますか?

  2. サイズと拡張子でファイルを検索する方法は?

  3. grep を使用してドットを含む文字列を検索する