基本命令
命令格式
grep [参数] [条件] [文件名]
基本用法
grep 'a' bbb.txt
-------------------------------------------------------------------------------
grep的参数(option)
-i 忽略大小写
-o 仅显示符合条件的内容
-e 同时根据多个条件过滤内容
-v 反向过滤
-E 支持扩展正则表达式
-A n 显示符合条件的后n行内容
-B n 显示符合条件的前n行内容
-n 显示行号
示例:
grep -i 'a' bbb.txt
grep -o 'a' bbb.txt
grep -e 'aaa' -e 'bbb' -e 'ccc' bbb.txt
grep -v 'aaa' bbb.txt
grep -E 'bin|sbin' bbb.txt
cat bbb.txt | grep -A 3 "lalala"
cat bbb.txt | grep -B 5 "lalala"
-------------------------------------------------------------------------------
grep的条件
有以下五种:
01---按“正则表达式”匹配
02---按“特殊字符集”匹配
03---按“字符的位置”匹配
04---按“出现的次数”匹配
05---匹配“空行”
01.按正则表达式匹配
匹配任意单个字符(.)
示例:grep '.j' bbb.txt
---------------------------------------------匹配其中任意一个字符([ ])
示例:grep '[jtk]' bbb.txt
---------------------------------------------匹配连续字符范围(“-”,例如:[a-z][A-Z][0-9][a-zA-Z])
示例:grep '[a-z]' bbb.txt
---------------------------------------------匹配结果取反(“^”,例如:[^a-z][^0-9])
示例:grep '[^a-z]' bbb.txt
-------------------------------------------------------------------------------
02.特殊字符集匹配
[[:digit:]] 任意单个数字
[[:alpha:]] 任意单个字母
[[:upper:]] 任意单个大写字母
[[:lower:]] 任意单个小写字母
[[:alnum:]] 任意单个数字、字母
[[:space:]] 任意单个空白字符
[[:punct:]] 任意单个标点
---------------------------------------------示例:grep "[[:digit:]]" bbb.txt
-------------------------------------------------------------------------------
03.匹配字符出现的位置
^string 匹配以string开头的行
示例:grep '^w' bbb.txt
---------------------------------------------string$ 匹配以string结束的行
示例:grep 'b$' bbb.txt
-------------------------------------------------------------------------------
04.匹配字符出现的次数
* 前一个字符出现任意次 ab*
示例:grep 'ab*' bbb.txt
---------------------------------------------\? 前一个字符出现0次或者1次可有可无
示例:grep 'ab\?' bbb.txt
---------------------------------------------\+ 前一个字符出现1次或者多次(反斜杠代表转义)
示例:grep 'ab\+' bbb.txt
---------------------------------------------\{4\} 前一个字符精确出现4次(反斜杠代表转义)
示例:grep 'a\{4\}' bbb.txt
---------------------------------------------{2,4}匹配出现2~4次的行 {2,}匹配出现大于2次的行
示例:grep 'a\{2,4\}' bbb.txt
示例:grep 'a\{2,\}' bbb.txt
-------------------------------------------------------------------------------
05.匹配空行
示例:grep '^$' bbb.txt
-------------------------------------------------------------------------------