1. 文字と一致します
。 任意の 1 文字と一致します
[ ] 指定された範囲内の任意の文字と一致します
[:alpha:] アルファベット文字
[: lower : ] 英小文字
[:upper:] 英大文字
[:digit:] 数字
[:alnum:] 英数字
[:space:] キャリッジなどの空白文字(印刷禁止)改行文字、改行文字、垂直タブ、フォームフィード
[:punct:] 句読点文字
[:cntrl:] 制御文字(印刷禁止)
[:print:] 印刷可能文字
使用時 通常は正方形2つ括弧が使用されます。これは次の例で使用されます。
2. 一致回数
* いつでも前の文字と一致します
.* 任意の長さの任意の文字と一致します ( grep "r.*t" /etc/passwd などの貪欲モードに注意してください)
x{m ,n } 前の文字が少なくとも m 回、最大で N 回出現することを指定します。
x{m,} 前の文字が少なくとも m 回出現することを指定します
x{0,n} 前の文字が最大 N 回出現することを指定します
x{m} m 回完全に一致します
?前の文字 0 または 1 回
3. アンカー文字
1.^ 行頭のアンカー grep "^r..t" /etc/passwd
2.$ 行末のアンカー grep " h$" /etc/passwd
3.^$ アンカー空行 grep "^$" /etc/passwd
4.< (b) アンカー単語先頭 grep " 5.> (b) grep "r..t>" /etc/passwd の例 (混同しやすい): には少なくとも 1 つの空白文字が含まれています。 grep "[[:space:]] {1,}" /etc /passwd には少なくとも 1 つの非空白文字が含まれています grep "[^[:space:]]{1,}" /etc/passwd には空白文字がありません grep -v " [^[:space:]]{1, }" /etc/passwd 6.() グループ文字 grep "(l..e).*1r" 例: grep --color "l( [13]):1:.*: 1" /etc/inittab 4. オプション -v 結果を反転します -i 大文字と小文字を無視します -o 一致した文字列 (その他の内容) のみを表示します行は表示されません) -E 拡張正規表現をサポートします -A n 一致した行の下に n 行を表示します -B n 一致した行の上に n 行を表示します -C n 一致した行の上下に n 行を表示します一致した行 演習: 1. システム内で user1 に関する関連情報を見つけます。 (事前に user11、myuser1 を作成しておきます) (エラーが発生しやすい) grep "user1" /etc/passwd user1 を含むすべての行 grep " useradd -c "user1 の叔父" /etc/passwd -c はコメントです grep "^ 2. user で始まり、番号 ユーザー関連情報。 grep "^user[0-9]{1,}>" /etc/passwd 3. /etc/inittab ファイル内の次の 2 行のテキストの特徴を分析し、次のようなパターンを書き込みます。正確に見つけることができる 2 つの行 では、各行の数字が同じである必要があります。 l1:1:wait:/etc/rc.d/rc 1 l3:3:wait:/etc/rc.d/rc 3 grep "l([13]):1:.*: .* 1" inittab 拡張子: 上記のすべての特性に一致します: grep "l([0-9]):1:.*:.* 1" inittab 10 を超える場合は、最小限の一致を追加する必要があります: grep "l( [0-9]{1,}):1:.*:.* 1" inittab 4. /proc/meminfo ファイル内の s で始まる行を大文字と小文字を区別して表示します grep " ^[sS] " /proc/meminfo 5. /etc/passwd grep "nologin$" /etc/passwd の nologin で終わる行を表示します。6. /etc/inittab の # で始まる行を表示します次に、複数の空白文字を含む 1 行または複数の行、空白以外の文字が続きます grep "^#[[:space:]]{1,}[^[:space:]]" /etc/inittab 7. /etc/inittab に 2 つのコロンの間に数字が含まれる行を表示します grep ":[0-9]:" /etc/inittab 8. 1 つ以上の /boot/grub/grub.conf ファイルを表示します。空白文字を含む行 grep ":[0-9]:" /etc/inittab 9。 /etc/inittab ファイル内の、番号で始まり同じ開始番号を持つ番号で終わる行を表示します。 grep "^([0-9]).*1$" /etc/inittab 10. /etc/inittab ファイル内の空白行以外を表示します grep -v "^$" /etc/inittab 11. 現在のネットワークインターフェイスの関連する IP アドレスを取得します (127.0.0.1 を除く) ifconfig |grep "inet addr" |grep -v "127.0.0.1"| " - f1 ifconfig |grep -A 1 "eth" |grep -o "addr:[0-9.]{1,}"|cut -d: -f2 5. 拡張正規表現 は正規表現とは異なります。 : () は () に置き換えられます {} は {} + に置き換えられます 一致の数、その前の文字と 1 回以上一致します | または 例: は ifconfig の結果と一致します。は 1 ~ 255 の整数です ifconfig|grep --color -E "<([1-9]|[1-9][0-9]|1[1-9][0-9 ]| 2[0-5][0-5])>"