grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep家族包括:grep、egrep和fgrep。

usage:

grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]

[-e pattern] [-f file] [--binary-files=value] [--color=when]

[--context[=num]] [--directories=action] [--label] [--line-buffered]

[--null] [pattern] [file ...]

1. 简单用法

# 查找制定文件中特定字符串
grep test testfile.txt# 查找多个文件
grep test *file

2. 显示行号

#  显示行号
grep -n '2019-10-24 00:01:11' *.log

3. 不区分大小写查找

 grep –i test testfile.txt

4.  反向查找

 grep –v test testfile.txt

5. 显示查找行前后的行

grep  -A 2 "line 3" testfile
grep  -B 2 "line 3" testfilegrep  -A 2 -B 2 "line 3" testfile
grep  -C 2 "line 3" testfile
  • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。

     -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。

    -C<显示行数> :除了显示符合样式的那一行之外,前后都显示n行。

6. 和find 联合使用

find / -type f -name "*.log" | xargs grep "ERROR"

7. 正则表达式匹配查找

grep -v '^$' /etc/samba/smb.confgrep '^root' /etc/passwd
grep 'bash$' /etc/passwd

正则表达式

. 任意单个字符
[] 指定范围内的单个字符
[^] 指定范围外的的单个字符,取反
.* 任意长度的任意字符
[:alnum:] 所有的字母和数字      
[:alpha:] 所有的字母
[:blank:] 所有呈水平排列的空白字符
[:cntrl:] 所有的控制字符
[:digit:] 所有的数字
[:graph:] 所有的可打印字符,不包括空格
[:lower:] 所有的小写字母     
[:print:] 所有的可打印字符,包括空格
[:punct:] 所有的标点字符 
[:space:] 所有呈水平或垂直排列的空白字符
[:upper:] 所有的大写字母    
[:xdigit:] 所有的十六进制数
[=字符=] 所有和指定字符相等的字符

* 其前面的字符出现任意次,0次或1次,或者多次
\? 其前面的字符出现0次或1次
\+ 其前面的字符出现1次或多次,至少出现1次
\{m\} 指定字符出现次数
\{m,n\} 至少出现m次,至多出现n次,范围取次 
\{0,n\} 出现最多n次          
\{m,\} 出现最少m次

^ 行首锚定,用于模式的最左侧 
$ 行尾锚定,用于模式的最右侧 
^……$ 整行, ^$ 空白行,^[[:space:]]*$  空行或者有空白字符的行
\< 或 \b  词首锚定
\> 或 \b  词尾锚定
\<……\>  精确锚定单词

\{xy\}*ab     表示多个字符出现0,1或多次。 \ 在这里作为转义符使用
\(abcd\){1,3}    表示包含abcd字符串最少出现1次,最多出现3次
\(1..2\).* \1      \1 是指引用从左侧起第一个()之间的字符
\(1..2\).* \(3..4\)\2    \2 是指引用从左侧起第二个()之间的字符
\(1..2\).* \(3..4\).*\(5..6\)\3   \3 是指引用从左侧起第三个()之间的字符

8. 递归查找

# 递归查找/etc/acpi文件夹及其子文件夹下所有文件中含有update字符串的行
grep -r update /etc/acpi 

Linux grep 命令相关推荐

  1. linux grep命令总结

    风生水起 善战者,求之于势,不责于人,故能择人而任势. 博客园    首页    新随笔    联系    订阅    管理 posts - 791,  comments - 394,  trackb ...

  2. Linux grep 命令初步学习

    Linux grep 命令用于查找文件里符合条件的字符串. grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显 ...

  3. Linux grep命令、Linux cd命令、Linux pwd命令

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式 ...

  4. linux grep命令参数及用法详解---linux管道命令grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  5. linux grep命令例子,详解linux grep命令

    本文介绍了linux grep命令,具体如下: 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regu ...

  6. linux grep命令详解

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  7. [转]linux grep命令

    转自:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则 ...

  8. Linux grep命令分析以及C语言版本的实现

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...

  9. Linux Grep 命令说明

    一. Grep 说明 grep (global search regular expression(RE) and print out the line)是一种强大的文本搜索工具,它能使用正则表达式搜 ...

  10. linux grep命令详解_Linux 上USB 调试神器lsusb命令详解

    大家好, 我是吉阿, 今天给大家介绍Linux上USB调试工具lsusb命令. ​ USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,早期用于规范电脑与 ...

最新文章

  1. python高并发编程_python_day10_并发编程
  2. linux下搭建基于python的vim,Linux下搭建基于python的VIM-Go语言中文社区
  3. Matlab二维绘图
  4. nssl1469-W【dp】
  5. 你会通过Docker部署war包吗
  6. 猛将赵云java,这五位三国猛将临危救主,赵云只能排第二位,第一位大家都服...
  7. java逻辑编程题_用Java编程解决一道逻辑推理题
  8. shell中各种括号()、(())、[]、[[]]、{}的作用
  9. DCGAN:生成动漫头像
  10. 探索MicroPython(二)--搭建开发环境
  11. java word转pdf jacob_java使用jacob.jar将word转pdf
  12. 一大批历史精彩文章啦
  13. 如何实现parseFloat保留小数点后2位
  14. 红队免杀培训第二章-使用系统调用http 协议下载恶意载荷
  15. c语言程序乔奎,迂回
  16. 使用Sbo用户自定义业务对象
  17. Gerrit新建用户登录时显示Forbidden
  18. 大疆机甲大师教育机器人Python开发:中文命名变量初尝试
  19. sublime-笔记
  20. java 商城 商品查询_Javaweb网上商城项目实战(17)实现商品详情查询

热门文章

  1. 一文详解相机标定算法原理
  2. ICCV2021|单目3D目标检测真的需要伪激光雷达吗?
  3. 计算机视觉顶尖期刊和会议的段子
  4. 点云数据向图像数据转换(附源码)
  5. CNN 的一些可视化方法
  6. 基于改进的点对特征的6D位姿估计
  7. 精选CVPR开源项目学习资源汇总
  8. VS2013+OpenCV3.1.0配置教程
  9. 超融合服务器品牌型号,蓝盾发布云平台!强势加入云计算IT行列
  10. Python3学习笔记(一):基础语法