BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

複数の単語、文字列、パターンをgrepする方法

このガイドでは、 grepの使用方法について説明します。 複数の単語、文字列を検索するためのユーティリティ およびパターン。 これを実現するために使用されるコマンドの完全な例を以下に示します。

Grepとは何ですか?

grepとは、コマンドライン関数のことです。 。 Grepは、Global RegularExpressionPrintの略です。基本的に、入力ファイルを検索して、特定の正規表現に一致する行を探します。次に、標準出力用に各行を書き込むことで結果を返します。

grepユーティリティは、3つの式の構文に適しています。これらは、Basic、Extended、またはPerl互換として指定できます。正規表現の構文が指定されていない場合、GNYgrepは検索パターンを基本式として設定します。

複数のパターンのGrep

複数のパターンを検索する場合は、交互演算子と呼ばれるOR演算子を使用できます。この演算子/パイプは次のようになります: |

これにより、ユーザーは、式セットであろうとリテラル文字列であろうと、一致する可能性のあるすべてのものを指定できます。したがって、複数のパターンを検索するには、次のように入力します。

$ grep 'first pattern\|second pattern' filename

最初のパターン ‘と‘2番目のパターン ‘は、検索している潜在的なパターンに置き換えられます。この正規表現–「最初のパターン\|2番目のパターン ‘–常に一重引用符で囲む必要があります。パイプ記号は、代​​替演算子としてサポートされていないため、エスケープ(バックスラッシュ) )grepにパイプに別の方法で指示するように指示するには、文字が必要です。

目的のパターンを拡張正規表現として指定するには、「 -e ‘または‘ —extended-regexp ' に使える。例:

$ grep -E 'first pattern|second pattern' filename

拡張正規表現では、パイプから脱出する必要はありません。

ファイルで検索できるため、presentation.txt内の検索パターンは次のようになります。

$ grep -E 'first pattern|second pattern' presentation.txt

出力には、grepしたい文字列が強調表示されます。

検索しているファイルが別のディレクトリ内にある場合は、フルファイルパスを使用してその特定のディレクトリを検索するようにgrepに指示する必要があります。例:

$ grep -E 'first pattern|second pattern' /home/presentation.txt

複数の文字列のGrep

最も基本的なパターンはリテラル文字列です。複数の文字列を検索するには、grepコマンドの後にこれらの文字列を入力します。 「1つ」を検索していると想像してみてください ‘、‘2つ ‘、および‘ 3 ‘。次のようになります:

$ grep 'one\|two\|three'

そのコマンドに従ってください 検索しているファイルを使用します。拡張正規表現を使用して検索している場合は、基本的に「 \」を削除しています。 ‘。例:

$ grep -E 'one|two|three'

大文字と小文字の区別を無視する

コマンド「grep」では大文字と小文字が区別されます。大文字と小文字を無視するには、「 -i」で呼び出します ‘または‘ —大文字と小文字を区別しない ' オプション。例:

$ grep -i 'one\|two\|three'

複数の一致の数を表示する

ログファイル内にいて、警告メッセージとエラーメッセージの数が増えているかどうかを知りたいが、完全に詳細な結果が表示されない場合は、「 -c」を使用できます。 ‘。 myapp.log内の複数の一致をカウントするには ファイルの場合、次のようになります:

grep -c 'one\|two\|three' /var/log/myapp.log

特定のファイルタイプで複数のパターンをGrepする

特定のファイルタイプで複数の文字列を検索できます。これにより、たとえば、ディレクトリ内のすべてのテキストファイルまたはすべてのログファイルを検索できます。ファイル名ではなくファイル拡張子の付いたアスタリスクを使用すると、grepに指示されます。上記のエラーメッセージの例を使用すると、すべてのログファイルを調べると次のようになります。

grep -c 'one\|two\|three' /var/log/*.log

複数の一致を再帰的に検索する

grepを使用すると、アスタリスクが使用されている現在のディレクトリ内でのみ検索されます。すべてのサブディレクトリを含める必要がある場合は、「-R」オプションを使用できます。

grep -R 'one\|two\|three' /var/log/*.log

これにより、指定したvar /log/ディレクトリおよびサブディレクトリ内で見つかったすべてのファイルの結果が返されます。

完全一致にgrepを使用する

「grep」コマンドは、完全一致だけでなく、文字列も埋め込まれているすべての結果を表示します。たとえば、「value」を検索すると、「values」と「valued」も含む行が出力されます。単語全体と完全に一致する行のみを返したい場合は、「 -w」を使用できます。 ‘または‘ —word-regexp ‘。 「one」の完全一致を検索している場合、これはそのように見える可能性があります ‘、‘ two ‘、および‘ three ‘:

$ grep -w 'one\|two\|three'

単語の文字には英数字が含まれるため、0〜9およびa〜zにアンダースコア文字を加えたものです。その他は単語以外の文字と見なされます。


  1. 複数のユーザーが Excel ファイルを共有する方法

    チームまたは組織で共同作業を行う場合、Excel ファイルの共有が必要になることがよくあります。全員が同時にワークブックを編集できるようにします。この有益なセッションでは、複数のユーザーがリアルタイムで共同作業を行うために Excel ファイルを共有する方法について説明します。 複数のユーザーが Excel ファイルを共有する 2 つの方法 たとえば、Frutis.xlsx の売上レポート という Excel ファイルがあるとします。 複数のユーザーでファイルを共有する必要があります。 Excel のバージョンが異なる複数のユーザーで Excel ファイルを共有するには、主に 2

  2. Windows 10 – 2022 を確認して更新する方法

    Windows Update を確認してインストールすることは、Windows をスムーズに実行し続けるための優れた効果的な方法です。したがって、問題を修正したり、セキュリティの脆弱性にパッチを当てたりするために、マイクロソフトは Windows の更新プログラムをリリースし続けており、セキュリティの専門家もそれを推奨しています。 同時に、ランサムウェア攻撃、マルウェアの脅威、ウイルス感染から安全を保つために、Windows を更新する必要があります。しかし、Windows を確認して更新する方法は? ここでは、Windows を手動で確認して更新する方法について説明します。 覚えておい