テキスト処理

grep

ファイルやテキストからパターンに一致する行を検索するコマンド

SYNTAX grep [options] pattern [file...]

主なオプション

オプション説明
-i大文字小文字を区別しない
-rディレクトリを再帰的に検索
-n行番号を表示
-v一致しない行を表示(反転マッチ)
-l一致したファイル名のみ表示
-c一致した行数を表示
-E拡張正規表現を使用(egrep相当)
--colorマッチ箇所をカラー表示

使用例

# ファイルから "error" を含む行を検索
grep "error" logfile.txt
# 再帰的に検索(サブディレクトリも含む)
grep -r "TODO" ./src/
# 大文字小文字を無視して検索
grep -i "warning" app.log
# 行番号付きで検索
grep -n "function" script.sh
# パターンに一致しない行を表示
grep -v "^#" config.txt
# 複数パターンのいずれかにマッチ(拡張正規表現)
grep -E "error|warning|critical" syslog
# パイプと組み合わせる
ps aux | grep nginx

正規表現の基本

パターン説明
.任意の1文字
^行頭
$行末
*直前の文字の0回以上の繰り返し
[abc]a、b、cのいずれか1文字
[^abc]a、b、c以外の1文字