基于linux下的shell的文本处理

1,grep:全面搜索研究正则表达式并显示出来 • grep 命令是一种强大的文本搜索工具 , 根据用户指定的“模 式”对目标文本进行匹配检查 , 打印匹配到的行,由正则表达式或者字符及基本文本字符所编写的过滤条件

grep                (过滤)全面搜索研究正则表达式并显示出来 
grep root passwd     将所有含有root的行显示出来
gerp ^root passwd    将以root开头的行显示出来
grep root$ passwd    将以root结尾的行显示出来
grep -i ^root passwd 忽略大小写将以root开头的行显示出来
grep -i root$ passwd
grep -i -E "^root|root$" passwd 把root开头或者结尾的都显示出来
-v                   表示将符合条件的隐藏,反向
-E                   扩展正则表达式,识别|或者的意思

这里写图片描述

grep 中字符的匹配位置设定
^关键字 以关键字为开头的都输出
关键字$ 以关键字为结尾的都输出
\<关键字
关键字>
\<关键字>

'r...t'匹配rt中间三个字符的
'r...' 匹配r后面三个字符的,满足条件包含其他字符的也显示
'r...\>'匹配r后面只有三个字符的
'...t'匹配t前面三个字符的
grep中字符的匹配次数设定
*       字符出现0-任意次
\?     字符出现0-1次
\+      字符出现1-任意次
{
   n\}   字符出现n次  前面的\表示转义,相当于-E
{
   m,n\} 字符最少出现n次,最多出现m次 \表示防止做扩展搜索,做精确搜索
{
   0,n\} 字符出现0-n次
{
   m,\} 字符至少出现m次
{
   (xy\){
   n\}  xy 关键字出现n次
*关键字之间匹配任意字符
试验
vim test
root
rt
rooooot
rooot
roooooot
rootrroot
rotroot
~           
grep 'r..t' test
grep -E 'ro*t' test 
grep -E 'ro?t' test
grep -E 'ro+t' test
grep -E 'ro{1,3}t' test  
grep -E 'root' test
grep -E '(root){2,}' test root关键字出现两次的显示出来
grep -E "r..." test    将所有满足r后面存在5个字符以上的都输出
grep -E "r...\>" test  将r后面五个字符的输出,多余的屏蔽
grep -E "...t" test
grep -E "\<...t" 将t前面只有3个字符的输出

这里写图片描述

这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值