| aliases | |||
|---|---|---|---|
| tags |
|
||
| created | 2024-08-25 03:24:29 -0700 | ||
| modified | 2024-08-25 03:26:41 -0700 |
grep 全称是 「global search regular expression and print out the line」,翻译过来就是 全局搜索正则表达式并把行打印出来。
grep 是一个程序族,包括了 grep、egrep 和 fgrep。
Linux 中使用的 GNU 版本的 grep ,可以直接通过 -G、-E 和 -F 命令选项来使用 grep、egrep 和 fgrep 的功能。
-v或--invert-match:反向查找,即打印出不符合条件行的内容。
^:锚定行的开始。如:^grep匹配所有以 grep 开头的行。$:锚定行的结束。如:grep$匹配所有以 grep 结尾的行。.:匹配一个非换行符的字符。如:gr.p匹配 gr 后接一个任意字符,然后是 p。*:匹配零个或多个先前字符。如:*grep匹配所有一个或多个空格后紧跟 grep 的行。.*:一起用代表任意字符。[]:匹配一个指定范围内的字符,如[Gg]rep匹配 Grep 和 grep。[^]:匹配一个不在指定范围内的字符,如:[^A-Z]rep匹配不包含 A-Z 中的字母开头,紧跟 rep 的行\(..\):标记匹配字符。如\(love\),love 被标记为 1。\<:锚定单词的开始。如:\<grep匹配包含以 grep 开头的单词的行。\>:锚定单词的结束。如grep\>匹配包含以 grep 结尾的单词的行。x\{m\}:重复字符 x,m 次。如:o\{5\}匹配包含 5 个 o 的行。x\{m,\}:重复字符 x,至少 m 次。如:o\{5,\}匹配至少有 5 个 o 的行。x\{m,n\}:重复字符 x,至少 m 次,不多于 n 次。如:o\{5,10\}匹配 5~10 个 o 的行。\w:匹配文字和数字字符,也就是 [A-Za-z0-9]。如:G\w*p匹配以 G 后跟零个或多个文字或数字字符,然后是 p。\W:\w的反置形式,匹配一个或多个非单词字符,如点号句号等。\b:单词锁定符。如:\bgrep\b只匹配 grep。