LINUX三剑客(grep、sed、awk)

LINUX三剑客(grep、sed、awk)

第一章 linux-grep与正则表达式



前言

提示:这里可以添加本文要记录的大概内容:
linux三剑客指的是grep、sed、awk三个命令。
grep功能:查找
sed功能:编辑
awk功能:分割处理


提示:以下是本篇文章正文内容,下面案例可供参考

一、grep

文本过滤(模式:pattern)工具。grep、egrep

模式:【正则表达式元字符串】或 【文本字符串】 作为过滤条件

grep [options] pattern [file...]

-- 影响检索结果
-i 忽略字符大小写
-v 排除匹配结果
-w 匹配整个单词
-e 实现多个【文本字符串】选项间的逻辑or关系 
   eg: grep –e 'student' -e 'teacher' file (匹配student 或 teacher字符)
-E 实现【正则表达式元字符串】逻辑匹配,相当于egrep。
   eg:grep -E '^student$|^teacher$' file (匹配以student开头结尾 或 以teacher开头结尾的字符)

-- 改变输出形式
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行

二、grep实操演练

1、导入文本文件(linux_grep.txt)

my friend is a teacher	# 全小写
My Friend Is A Teacher	# 全大写
MY FRIEND IS A TEACHER	# 首字母大写
teacher					# 全小写 + teacher开头结尾
Teacher					# 全大写 + teacher开头结尾
TEACHER					# 首字母大写 + teacher开头结尾
i'm a student
I'm A Student
I'M A STUDENG			# student最后一个字母t改成了g
student
Student
STUDENG					# student最后一个字母t改成了g
i'm a studentteacher
I'm A Studentteacher
I'M A STUDENGteacher	# student最后一个字母t改成了g
studentteacher
Studentteacher
STUDENGteacher			# student最后一个字母t改成了g

导入结果:
在这里插入图片描述

2、grep 命令基础演示

2.1、grep -i (忽略字符大小写)
grep 'teacher' linux_grep.txt   	#查找文件linux_grep.txt内容包含teacher的行
grep -i 'teacher' linux_grep.txt   	#查找文件linux_grep.txt内容包含teacher(忽略大小写)的行

在这里插入图片描述

2.2、grep -v (排除匹配结果)
grep 'teacher' linux_grep.txt   	#查找文件linux_grep.txt内容包含teacher的行
grep -v 'teacher' linux_grep.txt   	#查找文件linux_grep.txt内容不包含teacher的行

在这里插入图片描述

2.3、grep -w (匹配整个单词)
grep 'teacher' linux_grep.txt   	#查找文件linux_grep.txt内容包含teacher的行
grep -w 'teacher' linux_grep.txt   	#查找文件linux_grep.txt内容以teacher开头结尾的行

在这里插入图片描述

2.4、grep -e (实现多个【文本字符串】选项间的逻辑or关系 )
grep 'teacher' linux_grep.txt   	#查找文件linux_grep.txt内容包含teacher的行
grep -e 'teacher' -e 'student' linux_grep.txt   	#查找文件linux_grep.txt内容包含teacher 或 student 的行

在这里插入图片描述

2.5、grep -E (实现【正则表达式元字符串】逻辑匹配)
grep 'teacher' linux_grep.txt   	#查找文件linux_grep.txt内容包含teacher的行
grep -E 'teacher|student' linux_grep.txt   	#查找文件linux_grep.txt内容包含teacher 或 student 的行

在这里插入图片描述

3、grep 命令进阶

#查找文件linux_grep.txt内容包含teacher 或 student 的行(忽略大小写)
grep -i -E 'teacher|student' linux_grep.txt   	

#查找文件linux_grep.txt内容不包含teacher 或 student 的行(忽略大小写)
grep -i -v -E 'teacher|student' linux_grep.txt   	

#查找文件linux_grep.txt内容包含teacher(整个单词) 或 student(整个单词) 的行。非开头结尾
grep -w -E 'teacher|student' linux_grep.txt 

#查找文件linux_grep.txt内容已teacher开头结尾 或 已student开头结尾 的行
grep -E '^teacher$|^student$' linux_grep.txt 
grep -e '^teacher$' -e '^student$' linux_grep.txt 

#查找文件linux_grep.txt内容 'a s' 的行
grep -E 'a\s+s' linux_grep.txt 
  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

揽星衔月逐日光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值