show コマンドの表示内容から検索パターンである pattern に一致する行だけを抜き出して表示する。
-i オプションを指定した時には、pattern 中の英大文字/ 小文字を区別せずに検索する。例えば -i オプションがある時には 'abc' という pattern は 'abc' や 'ABC'、'aBc'、'ABc' などに一致する。一方、-i オプションがなければ、'abc' は 'abc' としか一致しない。
-v オプションを指定した時には、pattern に一致しない行を表示する。
-w オプションを指定した時には、pattern に一致するのは単語だけとなる。例えば、-w オプションがある時には 'IP' という pattern は 'IPv4' や 'IPv6' とは一致しないが、' IP '( 前後に空白がある ) や '[IP]' には一致する。一方、-w オプションが無ければ先に上げた例にはすべて一致する。
pattern は限定された正規表現である。一般的な正規表現では多くの特殊文字を使って多様な検索パターンを構成できるが、ここで実装されているのは以下の特殊文字のみである。
文字 | 意味 | 使用例 | 一致する文字列の例 |
---|---|---|---|
. | 任意の 1 文字に一致する | a.b | aab、aXb、a-b |
? | 直前の文字が 0 回または 1 回出現するパターンに一致する | b?c | ac、abc |
* | 直前の文字が 0 回以上繰り返すパターンに一致する | ab*c | ac、abc、abbc、abbbbbbbbc |
+ | 直前の文字が 1 回以上繰り返すパターンに一致する | ab+c | abc、abbc、abbbbbbbbc |
| | 前後の文字のいずれかに一致する | ab|cd | abd、acd |
[ ] | [ ] 内の文字のいずれかに一致する | a[bc]d | abd、acd |
[^ ] | [ ] 内の文字以外のものに一致する | a[^bc]d | aad、axd |
^ | 行の先頭に一致する | ^abc | abc で始まる行 |
$ | 行の末尾に一致する | abc$ | abc で終わる行 |
( ) | 文字列などをグループとして扱う | (ab|cd) | ab、cd |
\ | 続く特殊文字の効果を打ち消す | a\.c | a.c |
また、grep は一行に繰り返し指定することもできる。更に、less コマンドと同時に使用することもできる。
pattern 中の文字として '\','?',' |' を使用する場合は、それらの文字の前に '\' をもう一つ重ねて入力しなければならない。
例 ) # show command | grep nat Searching ... clear nat descriptor dynamic: 動的な NAT 情報を削除します ^C #
show config | grep ip | grep lan show config | grep ip | less