【Linux】grepコマンドチートリスト - j-komatsu/myCheatSheet GitHub Wiki

grepコマンドチートリスト

目的

grepコマンドを利用して、テキスト検索やデータ抽出を効率的に行う。


インデックス

  1. 単純な文字列検索
  2. 大文字・小文字を区別しない検索
  3. 複数の文字列を検索
  4. 検索結果の行番号を表示
  5. 特定のファイルで検索
  6. サブディレクトリを含めて再帰的に検索
  7. 検索結果を強調表示
  8. 検索結果を行数で制限
  9. 否定検索(文字列を含まない行を検索)
  10. 正規表現を用いた高度な検索
  11. AND条件の組み合わせ
  12. OR条件の組み合わせ
  13. 複数条件の除外検索
  14. 前後の行も含めて表示
  15. 複数ファイルで条件を組み合わせて検索

1. 単純な文字列検索

  • 目的: ファイル内の特定の文字列を検索する。
  • 構文:
    grep 'pattern' file
    
  • 使用例: file内に含まれるerrorを検索。

2. 大文字・小文字を区別しない検索

  • 目的: 大文字・小文字を区別せずに検索する。
  • 構文:
    grep -i 'pattern' file
    
  • 使用例: file内に含まれるErrorerrorを検索。

3. 複数の文字列を検索

  • 目的: 複数の文字列を同時に検索する。
  • 構文:
    grep -E 'pattern1|pattern2' file
    
  • 使用例: file内にerrorまたはwarningを検索。

4. 検索結果の行番号を表示

  • 目的: 検索結果の行番号を表示する。
  • 構文:
    grep -n 'pattern' file
    
  • 使用例: file内のerrorが見つかった行番号を表示。

5. 特定のファイルで検索

  • 目的: 特定のファイルだけで検索する。
  • 構文:
    grep 'pattern' file1 file2
    
  • 使用例: file1file2内のerrorを検索。

6. サブディレクトリを含めて再帰的に検索

  • 目的: サブディレクトリ内のすべてのファイルを検索する。
  • 構文:
    grep -r 'pattern' /path
    
  • 使用例: /var/log以下のすべてのファイルからerrorを検索。

7. 検索結果を強調表示

  • 目的: 検索した文字列を強調表示する。
  • 構文:
    grep --color=always 'pattern' file
    
  • 使用例: file内のerrorを強調表示。

8. 検索結果を行数で制限

  • 目的: 指定した行数だけ検索結果を表示する。
  • 構文:
    grep -m 10 'pattern' file
    
  • 使用例: 最初の10件のerrorを表示。

9. 否定検索(文字列を含まない行を検索)

  • 目的: 指定した文字列を含まない行を検索する。
  • 構文:
    grep -v 'pattern' file
    
  • 使用例: file内のerrorを含まない行を検索。

10. 正規表現を用いた高度な検索

  • 目的: 正規表現を用いて柔軟な検索を行う。
  • 構文:
    grep -E '^error.*[0-9]$' file
    
  • 使用例: file内でerrorで始まり数字で終わる行を検索。

11. AND条件の組み合わせ

  • 目的: 複数の条件をすべて満たす行を検索する。
  • 構文:
    grep 'pattern1' file | grep 'pattern2'
    
  • 使用例: file内でerrorcriticalの両方を含む行を検索。

12. OR条件の組み合わせ

  • 目的: 複数の条件のいずれかを満たす行を検索する。
  • 構文:
    grep -E 'pattern1|pattern2' file
    
  • 使用例: file内でerrorまたはwarningを含む行を検索。

13. 複数条件の除外検索

  • 目的: 複数の文字列を含まない行を検索する。
  • 構文:
    grep -v 'pattern1' file | grep -v 'pattern2'
    
  • 使用例: file内でdebuginfoも含まない行を検索。

14. 前後の行も含めて表示

  • 目的: 検索結果とその前後の行を表示する。
  • 構文:
    grep -A 2 -B 2 'pattern' file
    
  • 使用例: file内のerrorを検索し、その前後2行も表示。

15. 複数ファイルで条件を組み合わせて検索

  • 目的: 複数のファイルを対象に条件を組み合わせて検索する。
  • 構文:
    grep -rl 'pattern1' /path | xargs grep 'pattern2'
    
  • 使用例: /var/log以下のすべてのファイルでerrorを含み、さらにcriticalも含む行を検索。