Shell(二)文本处理工具(Linux三剑客 grep sed awk )

本文详细介绍了Linux中的文本处理工具grep、sed和awk的使用,包括grep的文本过滤,sed的行编辑和awk的报告生成功能。通过实例演示了如何进行字符匹配、替换以及数据筛选,同时提供了多个练习题加深理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、grep 文本过滤器

1.作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户

2.grep 格式

grep 匹配条件 处理文件,grep -E = egrep

主要参数 描述
grep root passwd 过滤root关键字
grep -i root passwd 忽略大小写,过滤root关键字
grep -E " \<root" passwd root字符之前不能有字符
grep -E “root\>” passwd root字符之后不能有字符
grep -数字 显示过滤行以及上面几行和下面几行
grep -n 显示匹配的行所在行号
grep -A 显示过滤行以及下面几行
grep -B 显示过滤行以及上面几行
grep -v 反向过滤

grep bash$ passwd #过滤bash结尾的行

在这里插入图片描述

grep -E “bash$ | nologin$” pasword #过滤bash结尾或nologin结尾的行

egrep “bash$ | nologin$” pasword #过滤bash结尾或nologin结尾的行

在这里插入图片描述

grep root pasword #过滤root行
grep -i root pasword #忽略大小写,过滤root行
grep -iE “\<root” pasword #忽略大小写,过滤root开头的行
grep -i “\<root\>” pasword #忽略大小写,过滤关键字只含有root的行

在这里插入图片描述

grep -n Root #显示Root行所在行号

在这里插入图片描述

grep -5 Root #显示Root行以及上面5行和下面5行

在这里插入图片描述

grep -A5 #显示过滤行以及下面几行
grep -B5 #显示过滤行以及上面几行
grep root -v #反向过滤不包含root行

在这里插入图片描述

3. grep字符数量匹配规则

字符 描述
^westos 以westos为开头的
westos$ 以westos结尾
w…s w开头s结尾中间4个任意字符
…s s结尾前面5个任意字符
* 0次到任意次
? 0到1次
+ 1次到任意次
{n} n次
{m,n} m到n次
{0,n} 0-n次
{,n} 0-n次
{m,} 最少m次
(lee){2} lee字符串出现2次

^westos #以westos为开头的行
westos$ #以westos结尾的行

在这里插入图片描述

grep “w…s” westos ##过滤以 w 开头,s 结尾中间2个字符的行;
grep “w.*s” westos ##过滤以 w 开头,s 结尾中间0-任意个字符的行 ;

在这里插入图片描述

grep -E “w.{3}s” westos ##过滤以 w 开头,s 结尾中间有三个字符的行;
grep -E ‘-w.{1,}s’ westos ##过滤以 w 开头,s 结尾中间有至少1个字符的行;
grep -E ‘-w.{1,3}s’ westos ##过滤以 w 开头,s 结尾中间有1-3个字符的行;

在这里插入图片描述

grep -E ‘-w.?s’ westos ##过滤以 w 开头,s 结尾中间有0-1个字符的行;
grep -E ‘-w.+s’ westos ##过滤以 w 开头,s 结尾中间有1-任意个字符的行;

在这里插入图片描述

grep -E ‘-w.{,3}s’ westos ##过滤以 w 开头,s 结尾中间有0-3个字符的行;
grep -E ‘-we{,3}s’ westos ##过滤以 w 开头,s 结尾中间有0-3个字符的行;
grep -E ‘-web{,3}s’ westos ##过滤以 w 开头,s 结尾中间b有0-3次的行;
grep -E ‘-w(eb){,3}s’ westos ##过滤以 w 开头,s 结尾中间eb有0-3次的行;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值