grep 命令详解及相关事例
一.匹配字符
. 匹配任意单个字符
[ ] 匹配指定范围内的任意字符
[^] 匹配飞指定范围内的任意字符
[:alpha:] 字母字符
[:lower:] 小写字母字符
[:upper:] 大写字母字符
[:digit:] 数字
[:alnum:] 字母数字字符
[:space:] 空白字符(禁止打印),如回车符、换行符、竖直制表符和换页符
[:punct:] 标点字符
[:cntrl:] 控制字符(禁止打印)
[:print:] 可打印字符
使用时一般使用两个中括号,具体会在下面的例子中使用。
二.匹配次数
* 匹配前面的字符任一次
.* 匹配任意长度的任意字符(注意贪婪模式,比如 grep “r.*t” /etc/passwd )
x\{m,n\} 指定前面的字符至少出现m次,至多出现N次。
x\{m,\} 指定前面的字符至少出现m次
x\{0,n\} 指定前面的字符至多出现N次
x\{m\} 精确匹配m次
? 匹配其前面的字符0或1次
三.锚定符
1.^ 锚定行首 grep "^r..t" /etc/passwd
2.$ 锚定行尾 grep "h$" /etc/passwd
3.^$ 锚定空白行 grep "^$" /etc/passwd
4.\< (\b) 锚定词首 grep "\ 5.\> (\b) 锚定词首 grep "r..t\>" /etc/passwd 示例(容易混淆): 至少包含一个空白字符 grep "[[:space:]]\{1,\}" /etc/passwd 至少包含一个非空白字符 grep "[^[:space:]]\{1,\}" /etc/passwd 没有一个空白字符 grep -v "[^[:space:]]\{1,\}" /etc/passwd 6.\(\)对字符分组 grep "\(l..e\).*\1r" 示例: grep --color "l\([13]\):\1:.*:\1" /etc/inittab 四.选项 -v 对结果取反 -i 忽略字母大小写 -o 仅显示匹配到的字符串(行的其他内容不显示) -E 支持扩展的正则表达式 -A n 显示匹配到的行下面n行 -B n 显示匹配到的行上面n行 -C n 显示匹配到的行上下面各显示n行 练习: 1.查找系统中user1用户的相关信息。(提前建好user11,myuser1)(易错) grep "user1" /etc/passwd 所有包含user1的行 grep "\ useradd -c "user1's uncle" /etc/passwd -c 是注释 grep "^\ 2.查找系统中以user开头后面跟了数字的用户的相关信息。 grep "^user[0-9]\{1,\}\>" /etc/passwd 3.分析/etc/inittab 文件如下两行文本的特征,编写可以精确查到的类似两行的模式, 要求每行的数字必须相同。 l1:1:wait:/etc/rc.d/rc 1 l3:3:wait:/etc/rc.d/rc 3 grep "l\([13]\):\1:.*:.* \1" inittab 扩展:匹配所有上述特征:grep "l\([0-9]\):\1:.*:.* \1" inittab 如果超过10,需要添加最小匹配:grep "l\([0-9]\{1,\}\):\1:.*:.* \1" inittab 4.显示/proc/meminfo文件中以不区分大小写的s开头的行 grep "^[sS]" /proc/meminfo 5.显示/etc/passwd中以nologin结尾的行 grep "nologin$" /etc/passwd 6.显示/etc/inittab中以#开头,且后面跟一个或者多个空白字符,而后又跟了任意非空白字符的行 grep "^#[[:space:]]\{1,\}[^[:space:]]" /etc/inittab 7.显示/etc/inittab中包含了两个冒号中间一个数字的行 grep ":[0-9]:" /etc/inittab 8.显示/boot/grub/grub.conf 文件中以一个或者多个空白字符的行 grep ":[0-9]:" /etc/inittab 9.显示/etc/inittab文件中以一个数字开头并以一个开头数字相同的数字结尾的行。 grep "^\([0-9]\).*\1$" /etc/inittab 10.显示/etc/inittab文件中非空白的行 grep -v "^$" /etc/inittab 11.取出当前网络接口的相关IP地址(不包含127.0.0.1) ifconfig |grep "inet addr" |grep -v "127.0.0.1"| cut -d: -f2|cut -d" " -f1 ifconfig |grep -A 1 "eth" |grep -o "addr:[0-9.]\{1,\}"|cut -d: -f2 五.扩展正则表达式 与正则表达式不同之处: \(\)替换为 () \{\}替换为 {} + 次数匹配,匹配其前的额字符一次或者多次 | 或者 示例: 匹配ifconfig结果中出现数字为1-255之间的整数 ifconfig|grep --color -E "\<([1-9]|[1-9][0-9]|1[1-9][0-9]|2[0-5][0-5])\>"

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

如何在Linux中使用grep命令进行日志分析?引言:日志是系统运行过程中产生的重要记录,对于系统运维和故障排查来说,日志分析是一项必不可少的工作。在Linux操作系统中,grep命令是一种强大的文本搜索工具,非常适合用于日志分析。本文将介绍针对日志分析常用的grep命令的使用方法,并提供具体的代码示例。一、grep命令简介grep是Linux系统中的一款文

LINUX系统中想要查看文件的内容,该怎么查看指定文件的首尾内容呢?下面我们就来看看使用grep查询指定首尾文件内容的教程。1、打开LINUX,这里我们可以用UBUNTU操作系统。2、找到左边任务栏的TERMINAL,打开终端窗口。3、grep后面加上^,就可以指定某一行的行首。4、grep后面的内容后面加上$,就可以指定某一行的行尾。5、^$可以同时使用,指定某一行首尾必须的内容。6、如果中间有一个字符缺失或者不正确,那么都会查询不到。7、配合-i使用就可以无视大小写的规则。8、还可以配合-v

本文研究的主要是Linux下grep显示前后几行信息的相关内容,具体如下。标准unix/linux下的grep通过下面参数控制上下文grep-C5foofile显示file文件里匹配foo字串那行以及上下5行grep-B5foofile显示foo及前5行grep-A5foofile显示foo及后5行查看grep版本号的方法是grep-V假设想升级,升级的方法:最新的源代码(google或者百度搜索主页),编译安装到某个地方,比方/home/aaa/bin/那么以后用的时候就用/home/aaa/

在Linux中,grep是一个非常常见和重要的工具,是每一个专业运维工程师必须掌握的命令,因为通过它可以快速地查找和过滤文件中的内容,那么Linux系统中grep如何使用?下面是常见用法介绍,一起来看看吧。 1、基本用法grep命令主要用于在文件中搜索指定模式的行。例如,要在文件file.txt中查找包含"example"的行,可以使用grep命令来实现。 grep‘example’file.txt grep将输出所有包含’example’的行。

Linuxgrep命令用于查找文件里符合条件的字符串。grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为-,则grep指令会从标准输入设备读取数据。语法:grep参数:-a或--text:不要忽略二进制的数据。-A或--after-context=:除了显示符合范本样式的那一列之外,并显示该行之后的内容。-b或--byte-offset:在显示符合样式的那一行之前

进行Linux系统维护的时候,想要在文本中快速搜索到你需要的东西,grep命令是非常不错的选择,它主要用于查找文件里符合条件的字符串,从而节省时间、提高工作效率。那么Linux系统中grep命令如何使用?我们一起来看看详细的内容介绍。 Linuxgrep命令用于查找文件里符合条件的字符串。grep指令用于搜索包含指定样式的文件内容,并显示包含该样式的行。如果未指定文件名,grep将从标准输入读取数据。grep是一种强大的文本搜索工具,可帮助用户快速定位关键信息。 语法 grep[-ab

linux中grep的用法有基本用法、忽略大小写、正则表达式搜索、反向搜索、统计匹配行数、递归搜索、输出行号和从输入流中搜索等。详细介绍:1、基本用法,grep命令的基本用法是在文件中查找包含指定模式的行,在文件file.txt中查找包含"example"的行,可以执行该命令“grep "example" file.txt”;2、忽略大小写,默认情况下,grep区分大小写等等。

grep的正则用法有:1、简单的匹配;2、基本正则表达式;3、元字符的使用;4、锚定字符的使用;5、字符类的使用;6、量词的使用。详细介绍:1、简单的匹配,使用grep命令后跟随要匹配的字符串;2、基本正则表达式,使用-E选项启用扩展的正则表达式功能;3、元字符的使用,在正则表达式中,可以使用一些元字符来表示特定的字符或字符集合;4、锚定字符的使用等等。
