1.はじめに
一般正規表現パーサー(grep、一般正規表現パーサー)は、特定の特性に一致する行を出力します。同様のコマンドには、egrep、fgrep、rgrepが含まれます。ここでは、一般的に使用されるgrepの簡単な紹介、構文を示します。
grep [option] PATTERN [FILES]
オプション、モード、ファイルの合計3つのパラメータがあります。オプションはコマンドの後のどこにでも表示できます-
。結局のところ、ロゴがあります。
オプション
オプション | 意味 |
---|---|
-c | 一致する行を出力する代わりに、一致する行の数を出力します |
-E | 拡張式を開始します |
-h | 各出力行のプレフィックス、つまりクエリパターンに一致するファイル名をキャンセルします |
-私 | ケースを無視する |
-l | 実際の一致する行を出力せずに、一致する行のファイル名のみをリストします |
-v | 一致するパターンを逆にします。つまり、一致しない行を検索します |
モード
grepはデフォルトでワイルドカードをサポートします。正規表現とは、他の言語と同じように、一部の文字に特別な意味があることを意味し\
ます。特別な意味を削除する場合は、それらを使用してください。通常の状況では、スクリプトファイル(シェル)のパラメーターは空白文字(スペースタブと改行)で区切られます。パラメーターに1つ以上の空白文字を追加する場合は、パラメーターを引用符で囲む必要があります。
キャラクター | 意味 |
---|---|
^ | 行の先頭を指す |
$ | 行の終わりを指す |
。 | 1文字 |
[] | [0-9]文字のセット、[0-9a-z]は文字と数字のセットを意味します。ここで、^は行の先頭ではなく、[^ 0-9]数字以外の文字を意味します。 |
次の表に前任者によって要約されたいくつかの一般的に使用される文字セットもあります
セットする | 意味 |
---|---|
[:アルファ:] | 文字 |
[:桁:] | デジタル |
[:ascii:] | ASCII文字 |
[:すくう] | 文字または数字 |
[:ブランク:] | スペース、タブ |
[:: cntrl:] | ASSII制御文字 |
[:グラフ:] | 非制御、非スペース |
[:lower:] | 小文字 |
[:アッパー:] | 小文字 |
[:print:] | 印刷可能 |
[:ポイント:] | 句読点 |
[:Xdigit] | 16進数 |
これがフィルタリングのニーズを満たさない場合は、-E
オプションを使用して、grepで拡張式を有効にすることができます。
オプション | 意味 |
---|---|
? | いいえ、1つしかない場合 |
* | 空または複数 |
+ | 少なくとも一つの |
{n} | 正確にnに一致 |
{n、} | 少なくともn |
{n、m} | [n、m] |
2.実用化
grep命令常常与其他命令结合,该命令是管道的一个非常好的实践。
- 找进程 ps -ef|grep java
- 数进程 ps -ef|grep -c java
- 找文件中的关键字 grep ‘linux’ test.txt test2.txt