Linux中grep命令 常用选项
grep的规则表达式:
^
: 锚定行的开始 如:^grep
匹配所有以grep开头的行。
$
: 锚定行的结束 如:grep$
匹配所有以grep结尾的行。
.
: 匹配一个非换行符的字符 如:gr.p
匹配gr后接一个任意字符,然后是p。
*
: 匹配零个或多个先前字符 如:*grep
匹配所有一个或多个空格后紧跟grep的行。
.*
: 一起用代表任意字符。
[]
: 匹配一个指定范围内的字符,如[Gg]rep
匹配Grep和grep。
[^]
:匹配一个不在指定范围内的字符
\(..\)
: 标记匹配字符,如\(love\)
,love被标记为1。
\<
: 锚定单词的开始,如:\<grep
匹配包含以grep开头的单词的行。
\>
: 锚定单词的结束,如grep\>
匹配包含以grep结尾的单词的行。
x\{m\}
: 重复字符x,m次,如:0\{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]
,
\W
: \w
的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b
: 单词锁定符,如: \bgrep\b
只匹配grep。
grep常见命令参数:
-n
: 打印行号
grep -n ".*" h.txt
: 所有打印行号
grep -n "root" h.txt
: 匹配的内容显示行号
-v
: 不包括
-E
: 表示过滤 多个参数 grep -Ev "sshd|network|crond|sysstat|"
-o
:仅打印你需要的东西,默认打印正行grep -o "hello" h.txt
-i
:忽略大小写 grep -i "hello" h.txt
-c
: 用于统计文中出现的次数
--color=auto
: 过滤字段添加颜色 利用正则打印特定字符
\b
:作为边界符,边界只包含特定字符的行 grep "\boldboy\b" /etc/passwd -->
只过滤包含oldboy的行
文章摘抄自:https://www.cnblogs.com/ftl1012/p/grep.html
方便自己查看?