grep命令
grep是一个常用的内容查询命令。
1.grep的AND
grep '条件1' filename | grep '条件2'
2.grep的OR,多条件的或查询
用法1:
grep '条件1\|条件2' filename
使用转义字符将管道符转为’或’符号。
用法2:(使用正则表达式选项)
grep -E '条件1|条件2' filename
用法3:
egrep '条件1|条件2' filename
egrep相当于grep -E。
正则符号 | 说明 |
---|---|
^ | 锚定行的开始 如:’^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。 |
3.grep的NOT,非查询(不满足当前条件的所有内容行)
grep -v '条件' filename