Linux文本处理三剑客grep、sed、awk用法详解

Linux文本处理工具grep、sed、awk用法详解

1、grep

1)grep简介

grep命令是一个Linux文本处理工具,它与egrep命令属于同一系列,这些命令都是用于对文件和文本执行重复搜索任务的工具。我们可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。grep是全局搜索正则表达式并打印出匹配的行,其抓取数据是贪婪模式,即不会漏掉过滤内容,但准确性会相对降低。

2)grep命令格式
grep 匹配条件 处理文件名称
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 					##反向过滤

实验步骤:
1)切换到一个空目录/mnt中,cp /etc/passwd .复制/etc/passwd文件到该目录(. 表示当前目录)中,避免文件内容过长删除一部分内容,使用grep命令在截取以某个字符串结尾的数据时,如果需要判断的结尾字符串有多个,需要用 | 连接多个正则表达式,但执行命令后抓取数据失败,这是因为 | 是扩展表达式,我们需要使用egrep命令才能用 | 连接多个判断字符串进行数据抓取,为了便于记忆,我们可以使用统一命令grep -E
在这里插入图片描述
在这里插入图片描述
2)编辑/mnt/passwd文件,在其中加入几行数据用来进行命令测试
在这里插入图片描述
3)使用grep命令过滤passwd文件中root关键字所在的行、使用-i 参数忽略大小写过滤passwd文件中root关键字所在的行,可以看到过滤结果中多了一条含有ROOT字符串的行
在这里插入图片描述
4)使用grep -E命令过滤passwd文件中root字符前没有字符的行、root字符后没有字符的行
注意: grep使用"<“或”>"只能抓取匹配字符串之前或之后不能有字符串的数据,像/root也会被查找出来,这是因为/为单个字符,而不是字符串
在这里插入图片描述
5)使用grep命令过滤passwd文件中ROOT关键字所在行及其上、下5行;使用grep命令过滤passwd文件中ROOT关键字所在行并显示行号;使用grep命令过滤显示passwd文件中ROOT关键字所在行及下面3行;使用grep命令过滤显示passwd文件中ROOT关键字所在行及上面3行
在这里插入图片描述
6)使用-v参数反向过滤passwd文件中不含有root关键字的行
在这里插入图片描述
7)命令练习:过滤passwd文件中行首、行尾不以root开头、结尾,行中有root关键字的行并显示
在这里插入图片描述

3)grep命令字符数量匹配规则
正则表达式 含义
^westos 以westos关键字开头
westos$ 以westos结尾</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值