Linux grep 命令
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 命令相关推荐
- linux grep命令总结
风生水起 善战者,求之于势,不责于人,故能择人而任势. 博客园 首页 新随笔 联系 订阅 管理 posts - 791, comments - 394, trackb ...
- Linux grep 命令初步学习
Linux grep 命令用于查找文件里符合条件的字符串. grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显 ...
- Linux grep命令、Linux cd命令、Linux pwd命令
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式 ...
- linux grep命令参数及用法详解---linux管道命令grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- linux grep命令例子,详解linux grep命令
本文介绍了linux grep命令,具体如下: 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regu ...
- linux grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- [转]linux grep命令
转自:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则 ...
- Linux grep命令分析以及C语言版本的实现
1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...
- Linux Grep 命令说明
一. Grep 说明 grep (global search regular expression(RE) and print out the line)是一种强大的文本搜索工具,它能使用正则表达式搜 ...
- linux grep命令详解_Linux 上USB 调试神器lsusb命令详解
大家好, 我是吉阿, 今天给大家介绍Linux上USB调试工具lsusb命令. USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,早期用于规范电脑与 ...
最新文章
- python高并发编程_python_day10_并发编程
- linux下搭建基于python的vim,Linux下搭建基于python的VIM-Go语言中文社区
- Matlab二维绘图
- nssl1469-W【dp】
- 你会通过Docker部署war包吗
- 猛将赵云java,这五位三国猛将临危救主,赵云只能排第二位,第一位大家都服...
- java逻辑编程题_用Java编程解决一道逻辑推理题
- shell中各种括号()、(())、[]、[[]]、{}的作用
- DCGAN:生成动漫头像
- 探索MicroPython(二)--搭建开发环境
- java word转pdf jacob_java使用jacob.jar将word转pdf
- 一大批历史精彩文章啦
- 如何实现parseFloat保留小数点后2位
- 红队免杀培训第二章-使用系统调用http 协议下载恶意载荷
- c语言程序乔奎,迂回
- 使用Sbo用户自定义业务对象
- Gerrit新建用户登录时显示Forbidden
- 大疆机甲大师教育机器人Python开发:中文命名变量初尝试
- sublime-笔记
- java 商城 商品查询_Javaweb网上商城项目实战(17)实现商品详情查询