shell中的文本处理工具(grep,sed,awk)

本文详细介绍了Linux shell中的文本处理工具grep、sed和awk的使用。针对grep,讲解了其格式、字符数量匹配规则及示例;在sed部分,涵盖了sed格式、字符处理、字符替换及示例;最后对awk的格式和示例进行了说明,包括在文本处理中的应用。
摘要由CSDN通过智能技术生成

一、grep

文本搜索工具,可以使用正则表达式搜索文本,把匹配的行打印出来

  • grep支持正则表达式
  • egrep支持扩展的正则表达式
  • grep -E= egrep

1、grep的格式

grep 匹配条件 处理文件
-i 忽略大小写
-E “\<root" root字符之前不能有字符
-E ”root\>“ root字符之后不能有字符
-数字 显示过滤行以及上面几行和下面几行
-n 显示匹配的行所在行号
-A 显示过滤行以及下面几行
-B 显示过滤行以及上面几行
-v 反向过滤

建立实验素材:
在这里插入图片描述

grep -E "bash$|nologin$" passwd  ##过滤以bash结尾或nologin结尾的行
grep -i root passwd  ##过滤含root关键字的行,不分大小写
grep -iE "\<root\>" passwd  ##过滤root关键字前后都没有字符的行,不分大小写

在这里插入图片描述

grep -1 ROOT passwd  ##显示含root的行,以及上下各一行
grep -A 2 -B 1 -n ROOT passwd  ##显示含root的行,以及上1行,下2行,均显示行号
grep root passwd | grep -E "^root" -v  ##显示root在结尾或中间的行,即反向过滤root在开头

在这里插入图片描述

2、grep字符数量匹配规则

^root 以root开头
root$ 以root结尾
s...k s开头k结尾中间任意3个字符
....k k结尾前后4个任意字符
* 字符出现任意
? 0到1次
+ 1到任意次
{n} n次
{m,n} m到n次
{0,n} 0-n次
{,n} 0-n次
{m,} 最少m次
(skk){6} skk字符串出现6次

建立实验素材:
在这里插入图片描述

grep -E 's.{2,4}s' grepfile  ##s和s之间有2到4个任意字符
grep -E 's.?s' grepfile  ##s和s之间有0到1个任意字符
grep -E 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值