grep 是 Linux 中最常用的 "文本处理工具" 之一, 用于在文本中查找指定的字符串.
语法:
grep [OPTION]... PATTERN [FILE]...
参数:
-i: 在搜索的时候忽略大小写
-n: 显示结果所在行号
-c: 统计匹配到的行数, 注意, 是匹配到的总行数, 不是匹配到的次数
-o: 只显示符合条件的字符串, 但是不整行显示, 每个符合条件的字符串单独显示一行
-v: 输出不带关键字的行 (反向查询, 反向匹配)
-w: 匹配整个单词, 如果是字符串中包含这个单词, 则不作匹配
-Ax: 在输出的时候包含结果所在行之后的指定行数, 这里指之后的 x 行, A:after
-Bx: 在输出的时候包含结果所在行之前的指定行数, 这里指之前的 x 行, B:before
-Cx: 在输出的时候包含结果所在行之前和之后的指定行数, 这里指之前和之后的 x 行, C:context
-e: 实现多个选项的匹配, 逻辑 or 关系
-P: 表示使用兼容 perl 的正则引擎.
-E: 使用扩展正则表达式, 而不是基本正则表达式, 在使用 "-E" 选项时, 相当于使用 egrep.
准备测试文件 file.txt:
先查看 grep 别名具体命令:
alias grep
自动显示高亮
测试示例:
grep "zoo" tmp/file.txt
查找 file.txt 中包含 "zoo" 字符串的行, 区分大小写
grep -i "zoo" tmp/file.txt
查找 file.txt 中包含 "zoo" 字符串的行, 不区分大小写
grep -i -n "zoo" tmp/file.txt
查找 file.txt 中包含 "zoo" 字符串的行, 不区分大小写, 显示行号.
grep -i -c "zoo" tmp/file.txt
统计行数
grep -i -o -n "zoo" tmp/file.txt
只打印匹配内容
来源: http://www.bubuko.com/infodetail-3185914.html