Skip to content

egrep#

egrep コマンドは、テキストファイル内で正規表現に一致する行を検索するためのコマンドです。egrep は、grep コマンドの拡張版として、拡張正規表現 (ERE) をサポートしています。そのため、grep に比べてより複雑なパターンの検索が可能です。

基本的な使用方法:#

egrep 'pattern' file

ここで、pattern は検索したい正規表現を、file は検索対象のファイルを指定します。

オプションの例:#

  • -i: 大文字と小文字を区別せずに検索します。
  • -v: 一致しない行を表示します(反転検索)。
  • -l: 一致する行が含まれているファイル名だけを表示します。
  • -n: 一致する行とともに、その行番号も表示します。
  • -r or -R: ディレクトリを再帰的に検索します。

例:#

  1. ファイル sample.txt から "apple" という単語を含む行を検索する。

    egrep 'apple' sample.txt
    

  2. ファイル sample.txt から "apple" または "orange" という単語を含む行を検索する。

    egrep 'apple|orange' sample.txt
    

  3. ディレクトリ dir とそのサブディレクトリにあるファイルから "apple" という単語を含む行を検索する。

    egrep -r 'apple' dir/
    

注意: 一部のシステムでは、egrepgrep -E としても利用できます。この二つのコマンドは同じ動作をします。

主なオプション:#

egrep の主なオプションと、それを使用するための一般的なレシピを以下に示します。

  1. -i: 大文字と小文字を区別せずに検索します。
  2. -v: 一致しない行を表示します(反転検索)。
  3. -l: 一致する行が含まれているファイル名だけを表示します。
  4. -n: 一致する行とともに、その行番号も表示します。
  5. -r or -R: ディレクトリを再帰的に検索します。
  6. -c: 一致する行の数を表示します。
  7. -o: 一致する部分のみを表示します。

レシピ:#

  1. 大文字小文字を区別せずに検索

    egrep -i 'apple' sample.txt
    

  2. "apple" という単語が含まれていない行を表示

    egrep -v 'apple' sample.txt
    

  3. "apple" という単語を含むファイル名を表示

    egrep -l 'apple' *
    

  4. "apple" という単語を含む行とその行番号を表示

    egrep -n 'apple' sample.txt
    

  5. ディレクトリとそのサブディレクトリから"apple" という単語を含む行を検索

    egrep -r 'apple' dir/
    

  6. "apple" という単語を含む行の数を表示

    egrep -c 'apple' sample.txt
    

  7. "apple" という単語を含む部分のみを表示

    egrep -o 'apple' sample.txt
    

  8. 複数の単語 (apple または orange) を含む行を検索

    egrep 'apple|orange' sample.txt
    

  9. 特定の拡張子を持つファイルから特定のパターンを検索

    egrep 'pattern' *.txt
    

これらのレシピは基本的なものであり、さまざまなオプションを組み合わせることで、必要に応じて検索をカスタマイズすることができます。