grepやvimで使える正規表現
$ grep [オプション] <検索パタン> <ファイル名>
で、ファイルからパタンに一致する内容がある行を抽出
例: /etc ディレクトリから'cron'に一致する内容を抽出
$ ls /etc | grep cron anacrontab cron.d cron.daily cron.hourly cron.monthly crontab cron.weekly
正規表現まとめ
- 任意の一文字にマッチ
‘.’(ドット) で任意の一文字にマッチングする
‘.'自体を検索したい場合は’\.‘を用いる
例:/etc 内にある ’.conf'ファイルを検索
$ ls /etc | grep '\.conf' adduser.conf apg.conf appstream.conf brltty.conf ca-certificates.conf debconf.conf
- 特定の一文字にマッチ
[]で囲った中に文字を入れると、その中いずれか一文字に一致するものを検索する。
例えば kato と sato を同時に検索したければ
[ks]ato になる。
[a-z]でa,b,c…zのいずれか一文字
[^ ]で [ ] の中に含まれない一文字
- 行頭・行末でマッチ
‘^'で行頭、’$‘で行末にあるパタンを検索できる
例:ホームディレクトリにある隠しファイル(行頭が’.‘)を抽出
$ ls ~ | grep '^\.' . .. .adobe .bash_history .bash_logout .bashrc .cache
grep ^$
で空行を抽出
- 繰り返しをマッチ
‘*'で前の文字の任意回の繰り返しを意味する
例:Be*r = Ber,Beer,Beeeeer,Beeeeeeeeeeeeeeeer…
.*
はあらゆる文字列にマッチする