grep及基本正则表达式

grep及基本正则表达式
正则表达式就是为了处理大量的文本或字符串而定义的一套规则和方法
对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,抑或查询某个日志文件分析其内容,都会用到正则表达式
Linux中的正则表达式,最常应用正则表达式的命令是grep(egrep),sed,awk
正则表达式分为两种:
基本正则表达式(BRE,basic regular expression)
扩展正则表达式(ERE,extended regular expression)
grep常用基本参数及作用:
–color 匹配到的字符串显示颜色
在这里插入图片描述
-i 忽略字符大小写
在这里插入图片描述
-o 仅显示匹配的字串
在这里插入图片描述
-v 反向选取,即显示不匹配的行
在这里插入图片描述
-E 使用扩展正则表达式
-n 显示行号
在这里插入图片描述
正则表达式常用:
^word 搜寻word开头的行
在这里插入图片描述
bash$ 搜寻bash结尾的行
在这里插入图片描述
. 匹配任意一个字符
在这里插入图片描述
\ 转义字符
在这里插入图片描述
* 前面的一个字符重复0到多次
在这里插入图片描述
[list] 匹配一系列字符中的一个
在这里插入图片描述
[n1-n9] 匹配一个字符范围中的一个字符
在这里插入图片描述
[^list] 匹配字符集以外的字符
在这里插入图片描述
{n1,n2} 前面的单个字符至少n1次,最多n2次
在这里插入图片描述
<word 单词的开头
在这里插入图片描述
word> 单词的结尾
在这里插入图片描述
‘ ’ 强引用,引号的内容不变
“ ” 弱引用,变量会替换
[[:alnum:]] 代表英文大小写字符即数字,即0-9,a-z,A-Z
在这里插入图片描述
[[:alpha:]] 代表任何英文大小写字符,即A-Z,a-z

[[:space:]] 任何会产生空白的字符,包括空白键,[Tab]等

[[:digit:]] 代表数字,即0-9

[[:lower:]] 代表小写字符,即a-z

[[:upper:]] 代表大写字符,即A-Z

测试:
1.显示/proc/meminfo文件中以大写或小写S开头的行
grep -i ‘s’ /proc/meminfo
2.显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户
grep -v “/sbin/nologinKaTeX parse error: Expected 'EOF', got '\/' at position 86: …号最大的用户 grep “\̲/̲bin\/bash”/etc/passwd | sort
4.找出/etc/passwd文件中的一位数或两位数
grep “<[0-9]{1,2}>” /etc/passwd
5.显示/boot/grub/grub.conf中以至少一个空白字符开头的行
grep “1{1,}” /boot/grub/grub.conf
6.找出netstat -tan命令执行结果中以’LISTEN’结尾的行
netstat -tan | grep “LISTEN$”
7.显示当前系统上root、user1用户的默认shell
grep -E“(root|user1)” /etc/passwd | cut -d ‘:’-f7
8.找出/etc/rc.d/init.d/functions文件中某单词后跟一组小括号"()"行
grep “<[[:alpha:]]*>()” /etc/rc.d/init.d/functions
9.找出ifconfig命令结果中的1-255之间的数字
ifconfig|grep-E“<([1-9]|[1-9][0-9]|[1-1][0-9][0-9]|[2-2][0-5][0-5])>”


  1. [:space:] ↩︎

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值