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

ファイルとディレクトリで特定の文字列または単語を見つける方法

Linuxシステム全体または特定のディレクトリで特定の単語またはテキストの文字列を含むすべてのファイルを検索しますか。この記事では、その方法を説明します。ディレクトリを再帰的に調べて、特定のテキスト文字列を含むすべてのファイルを見つけて一覧表示する方法を学習します。

これを解決する簡単な方法は、grepパターン検索ツールを使用することです。これは、Unixライクなシステム上のファイルまたはディレクトリからパターンや単語を検索するための強力で効率的で信頼性が高く最も人気のあるコマンドラインユーティリティです。

また読む :文字クラスとブラケット式に関する11の高度なLinux「Grep」コマンド

以下のコマンドは、「 check_root」というテキストの行を含むすべてのファイルを一覧表示します。 」、~/binを再帰的かつ積極的に検索します ディレクトリ。

$ grep -Rw ~/bin/ -e 'check_root'

-Rの場所 オプションはgrepに指示します コマンドラインとオプション-wにある場合にのみ、シンボリックリンクをたどって、各ディレクトリの下にあるすべてのファイルを再帰的に読み取ります。 単語全体を形成する一致を含む行のみを選択するように指示し、-e 検索する文字列(パターン)を指定するために使用されます。

root権限を必要とする特定のディレクトリまたはファイルを検索する場合は、sudoコマンドを使用する必要があります(rootアカウントでシステムを管理している場合を除く)。

 
$ sudo grep -Rw / -e 'check_root'	

大文字と小文字の区別を無視するには、-iを使用します 示されているオプション:

$ grep -Riw ~/bin/ -e 'check_root'

テキストの文字列が存在する正確な行を知りたい場合は、-nを含めます。 オプション。

$ grep -Rinw ~/bin/ -e 'check_root'

検索したいディレクトリにいくつかの種類のファイルがあると仮定すると、たとえば、--includeを使用して、拡張子によって検索するファイルの種類を指定することもできます。 オプション。

この例では、grepにすべての.shのみを調べるように指示しています。 ファイル。

$ grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

さらに、次のコマンドを使用して、複数のパターンを検索することができます。

$ grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

それでおしまい!ファイル内の文字列や単語を見つける他のコマンドライントリックを知っている場合は、私たちと共有するか、このトピックに関する質問をしてください。下のコメントフォームを使用してください。


Linux
  1. パターンに一致する特定のファイルを検索する方法は?

  2. Unix で空のディレクトリとファイルを見つけて削除する方法

  3. すべてのファイルとディレクトリを再帰的に一覧表示する方法

  1. シェルの再帰ディレクトリにある特定の種類のファイルを一覧表示する方法は?

  2. 特定の単語をgrepしてテキストを取得する方法

  3. 特定のユーザーが書き込み可能なすべてのファイルとディレクトリを見つけるにはどうすればよいですか?

  1. ファイル内の複数の文字列を見つける方法は??

  2. Linux で空のディレクトリとファイルを見つけて削除する方法

  3. Linux で特定のテキストを含むすべてのファイルを見つけるにはどうすればよいですか?