Shell中的文本处理工具(egrep,sed,awk)

1.grep过滤筛选命令:

grep = Globally search a Regular Expression and Print(处理过滤模式空间中的数据)
grep -E = egrep

grep格式

grep 匹配条件 处理文件

grep root passwd		    #过滤root关键字
grep ^root passwd		    ##以root开头
grep root$ passwd		    ##以root结尾
grep -i root passwd 		##后略大小写
grep -E "\<root" passwd		##root字符之前不能有字符
grep -E "root\>" passwd		##root字符之后不能有字符
grep -数字		        	##显示过滤行以及上面几行和下面几行
grep -n 					##显示匹配的行所在行号
grep -A						##显示过滤行以及下面几行
grep -B						##显示过滤行以及上面几行
grep -v						##反向过滤

在这里插入图片描述在这里插入图片描述
grep字符数量匹配规则:

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

注意:{ } 的作用对象为前一个字符,( ) 才能作用字符组:

在这里插入图片描述
2.sed 字符流编辑器:

2-1:e 表示 执行多个命令;-n 静默输出; p 显示;
在这里插入图片描述
e 表示执行多个命令:
在这里插入图片描述

2-2:d 删除 ;a 添加(在目标行之后);c 替换 ; w 写入 ;i 插入(在目标行之前);r 整合两个文件到一起 ;

在这里插入图片描述

删除 和 添加(在目标行数之后添加) :
在这里插入图片描述

替换 (整行替换) 和 写入 (生成新文件):
在这里插入图片描述

插入(在目标行数之前插入) ,整合文件(需要两个文件)
在这里插入图片描述
2-3:sed 的字符替换;-i 将处理结果保存到文件中;N 提前加载模式空间中处理的行:

在这里插入图片描述

注意:sed 命令的所有操作都需要加入 -i 参数后才能保存到文件中:
在这里插入图片描述

3.awk 文本处理工具(报表生成器)

在这里插入图片描述

在awk 命令的条件中如 : /sbin/ 表示过滤筛选关键字:
在这里插入图片描述

注:awk 命令中 BEGIN { } 和 EDN { } 可以没有,但 { } 必须有:
在这里插入图片描述

BEGIN 表示在命令开始之前,END 表示在命令结束时:
在这里插入图片描述
课后练习:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lb1331/article/details/111313891