1、grep -n 显示行号
grep -n 'device' anaconda-ks.cfg
可以用vi打开此文件,然后输入【:set nu】回车验证下,记得前面有个冒号!
2、grep -o 只显示匹配到的内容
grep -o 'device' anaconda-ks.cfg
3、grep -i 不区分大小写
grep -i 'DEVICE' anaconda-ks.cfg
4、grep -e 支持正则表达式
grep -e 'device*' anaconda-ks.cfg
常见的正则有以下几个:
- ^ 行首
- $行尾
- .除了换行符以外的任意单个字符
- *前导字符的零个或多个
- .*所有字符
- []字符组内的任一字符,如:[a-z]
- [a-z] 小写字母
- [A-Z] 大写字母
- [0-9] 数字
5、grep -A N 如果匹配成功,则输出匹配到的内容及其后面的N行内容
grep -A 2 'device=[a-z]+[0-9]+' anaconda-ks.cfg
6、grep -B N 如果匹配成功,则输出匹配到的内容及其前面的N行内容
grep -B 2 'device=[a-z]+[0-9]+' anaconda-ks.cfg
注:-B参数跟-A参数正好相好,在实现工作中经常用到。
7、grep -C N 如果匹配成功,则输出匹配到的行,以及这行前后N行的内容
grep -C 2 'device=[a-z]+[0-9]+' anaconda-ks.cfg
8、-E :等于egrep,扩展
9、-v :取反,不匹配
10、-w:匹配单词