【Linux】grepコマンドチートリスト - j-komatsu/myCheatSheet GitHub Wiki
grepコマンドチートリスト
目的
grepコマンドを利用して、テキスト検索やデータ抽出を効率的に行う。
インデックス
- 単純な文字列検索
- 大文字・小文字を区別しない検索
- 複数の文字列を検索
- 検索結果の行番号を表示
- 特定のファイルで検索
- サブディレクトリを含めて再帰的に検索
- 検索結果を強調表示
- 検索結果を行数で制限
- 否定検索(文字列を含まない行を検索)
- 正規表現を用いた高度な検索
- AND条件の組み合わせ
- OR条件の組み合わせ
- 複数条件の除外検索
- 前後の行も含めて表示
- 複数ファイルで条件を組み合わせて検索
1. 単純な文字列検索
- 目的: ファイル内の特定の文字列を検索する。
- 構文:
grep 'pattern' file
- 使用例:
file
内に含まれるerror
を検索。
2. 大文字・小文字を区別しない検索
- 目的: 大文字・小文字を区別せずに検索する。
- 構文:
grep -i 'pattern' file
- 使用例:
file
内に含まれるError
やerror
を検索。
3. 複数の文字列を検索
- 目的: 複数の文字列を同時に検索する。
- 構文:
grep -E 'pattern1|pattern2' file
- 使用例:
file
内にerror
またはwarning
を検索。
4. 検索結果の行番号を表示
- 目的: 検索結果の行番号を表示する。
- 構文:
grep -n 'pattern' file
- 使用例:
file
内のerror
が見つかった行番号を表示。
5. 特定のファイルで検索
- 目的: 特定のファイルだけで検索する。
- 構文:
grep 'pattern' file1 file2
- 使用例:
file1
とfile2
内の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
内でerror
とcritical
の両方を含む行を検索。
12. OR条件の組み合わせ
- 目的: 複数の条件のいずれかを満たす行を検索する。
- 構文:
grep -E 'pattern1|pattern2' file
- 使用例:
file
内でerror
またはwarning
を含む行を検索。
13. 複数条件の除外検索
- 目的: 複数の文字列を含まない行を検索する。
- 構文:
grep -v 'pattern1' file | grep -v 'pattern2'
- 使用例:
file
内でdebug
もinfo
も含まない行を検索。
14. 前後の行も含めて表示
- 目的: 検索結果とその前後の行を表示する。
- 構文:
grep -A 2 -B 2 'pattern' file
- 使用例:
file
内のerror
を検索し、その前後2行も表示。
15. 複数ファイルで条件を組み合わせて検索
- 目的: 複数のファイルを対象に条件を組み合わせて検索する。
- 構文:
grep -rl 'pattern1' /path | xargs grep 'pattern2'
- 使用例:
/var/log
以下のすべてのファイルでerror
を含み、さらにcritical
も含む行を検索。