shell中的文本处理正则表达式(grep+sed+awk:俗称linux中的三剑客)

一、正则表达式

  • 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑,计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本,许多程序设计语言都支持利用正则表达式进行字符串操作,例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的,正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen

二、grep文本过滤命令

1、grep是什么

  • grep的工作方式:在一个或多个文件中搜索字符串模板,如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名,搜索的结果被送到屏幕,grep可用于shell脚本,如果模板搜索成功返回0,不成功返回1,搜索文件不存在返回2,我们可以利用返回值做一些自动化的文本处理工作

2、grep 的格式

命令 含义
grep root passwd 搜索全文中的root
grep ^root passwd 搜索全文中以root开头的
grep root$ passwd 搜索全文中以root结尾的
grep -i root passwd 忽略大小写
grep -E “root/ROOT” passwd 同时匹配多个条件
grep “root$” passwd -n 过滤出以root结尾的,且排序
grep “root$” passwd -v 过滤出以root结尾的,且排序
grep “root$” passwd -B1 过滤出以root结尾的行及其前一行
grep “root$” passwd -B1 过滤出以root结尾的行及其前一行
grep “root$” passwd -A1 过滤出以root结尾的行及其后一行
grep “root$” passwd -2 过滤出以root结尾的行及其前后2行

(1)grep root passwd 搜索全文中的root,grep属于贪婪模式的搜索和匹配,只要行中有root出现,它就会打印匹配的行,除非指定什么开头,什么结尾
在这里插入图片描述

(2)
grep -E “root|ROOT” passwd = grep root passwd | grep ROOT 加-E可以一次性加两个条件,不加-E就过滤两次

在这里插入图片描述

(3)grep -Ei “root” passwd -i 表示忽略大小写过滤
在这里插入图片描述

(4)grep -Ei “^root” passwd 过滤出以root开头的
在这里插入图片描述

(5)grep -Ei " root$" passwd 过滤出以root结尾的
在这里插入图片描述

(6)grep -Ei “^root |root$” passwd 过滤出以root开头和结尾的

在这里插入图片描述

(7) **grep -Ei “^root |root$” passwd -v**过滤出不以root开头和结尾的,-v表示取反

在这里插入图片描述

(7) grep -Ei “^root |root$” passwd -v |grep root 过滤出root居中的
在这里插入图片描述

(8)grep -Ei “^root |root$” passwd -n 过滤出以root开头和结尾的,且排序

在这里插入图片描述

(9)grep ROOT passwd -B1 过滤出ROOT所在行及其前一行
在这里插入图片描述

(10)grep ROOT passwd -A1 过滤出ROOT所在行及其后一行
在这里插入图片描述
(11)grep ROOT passwd -2 过滤出ROOT所在行及其前后2行

在这里插入图片描述

(11)grep ROOT passwd -1 过滤

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值