三剑客之grep

目录

前言

一、语法

二、使用步骤

1.简单操作

2.正则表达式

2.1 基本正则

2.2 扩展正则

2.3 perl正则

总结


前言

grep 工具作为一款分析过滤工具,在linux环境是用得比较多的,在与比起awk更好记忆和没有那么多的语法。它本身是操作文件内中的单元行,不会去改变源文件的内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、语法

grep  [选项]  '表达式'    文件名

  • 选项

        -i          # 不区分大小写

        -v          # 取反

        -P         # prel 匹配正则表达式

        -E         # 匹配扩展正则表达式

        -q          # 屏蔽输出

        -w          # 过滤单个单词

        -R          # 递归

这里的选项还有非常多,我们可以使用 man grep 查看文档

二、使用步骤

1.简单操作

代码如下(示例):

[root@svr7 mnt]# grep ^root /etc/passwd  #显示以root字符开头的行
[root@svr7 mnt]# grep bash$ passwd     #显示以bash字符结尾的行
[root@svr7 mnt]# grep -i ROOT passwd   #查找包含root的行忽悠大小写
[root@svr7 mnt]# grep -v ROOT passwd   #查找不包含root的行
[root@svr7 mnt]# grep ^$ passwd        #显示空行

# 只包留非#注释的行并且,去除空行,这个指令使用起来过滤掉的东西就非常的简洁
[root@localhost ~]# grep -Ev "^$|#" /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d

2.正则表达式

2.1 基本正则

符号

说明

^

字符开头,^root

$

字符结尾,root$

.

匹配任意单个字符

*

匹配前一个字符任意次(包含0次)

[集合]

匹配集合里的任意单个字符,[xyz]-->x | y |z

[^集合]

对集合取反

abc

匹配abc

\{m,n\}

匹配前一个字符m到n次,"r\{2,4\}"

\{m,\}

匹配前一个字符至少m次

\{m\}

匹配前一个字符m次

示例:

[root@svr ~] # grep "root"  /etc/passwd
[root@svr ~] # grep "r.t"  /etc/passwd
[root@svr ~] # grep "r*t"  /etc/passwd
[root@svr ~] # grep "[rbc]"  /etc/passwd
[root@svr ~] # grep "\{2,3\}}"  /etc/passwd

2.2 扩展正则

grep -E  或者 egrep 

符号

说明

+

匹配前一个字符至少一次

匹配前一个字符1或者0次

()

组合 与保留

|

或者

{m,n}

匹配前一个字符m到n次

{m,}

匹配前一个字符至少m次

{m}

匹配前一个字符m次

2.3 perl正则

grep -P 

说明

备注

\s

匹配空格

\b

匹配单词的字符边界,\b单词\b

\w

匹配数字字符下划线

\W

与\w相反

\d

匹配数字

\d+

匹配多个数字

\D

不匹配数字

这2种就不做基本的列举了


总结

grep 的运用得大多数是和管道命令一起使用,想要运用得熟练必须多多的使用正则表达式,才能得心应手哟。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值