本日のハイライト
•テキストデータ内の文字列を検索するにはgrepコマンドを使用
-nオプションでは行番号を表示する。
•正規表現について
正規表現とは記号や文字列を組み合わせて目的のキーワードを検索するためのパターンを作り検出する手段
例: '^a.*o$' 先頭がaで末尾がoの文字列を検索
主なメタキャラクタ
「.」任意の文字に一致
「^」行の先頭(^文字)
「$」行の末尾(文字$)
「*」直前の文字が0回以上の繰り返しに一致
「?」直前の文字が0回もしくは1回の繰り返しに一致
「+」直前の文字が1回以上の繰り返しに一致
「[]」[]内の文字グループに一致
例:
[abAB]a,b,A,Bいずれかに一致
[^abAB]a,b,A,B以外のいずれかに一致
[a-bA-B]a,b,c,d,A,B,C,Dいずれかに一致
「\」メタキャラクタを文字として使う場合に使用
例:
'^a..$' これは「.」がメタキャラクタとして扱われているためエラー
'^a..$' これは「.」が文字として扱われているため「.」が末尾の文字列を検索する指定として機能する
•egrepコマンドはgrepコマンドより高度な文字列検索を行う
-vオプションは条件に一致しない行を検索する
•行末の#を指定する場合は'#$'となるが、bashでは#以降の文字列をコメントとして無視するため'#$'としてエスケープするなどしなければならない
•fgrepコマンドはgrepコマンド同様に文字列を検索するコマンドだが、こちらは正規表現を使用しない