文本三剑客-egrep(grep的升级款--》支持正则表达式)

目录

##grep文本过滤器

##echo和eval的区别

##正则表达式

##写正则表达式

正则表达式的规则 

##通用修饰符

##锚点搜索


##grep文本过滤器

-i 不区分大小写

-E 升级为拓展正则

-n 显示行数

-o ##只显示需要过滤的文本,显示出来

-v 取反整行,不显示查找的 -->整行取反

-r 递归查找

-A after 在什么之后的全部显示 ##都可以接行数

-B before在什么之前的全部显示

-C center 以选中的行数为中心来进行过滤

##过滤以w开头的内容

[root@wangyalin-hunan-changsha shell]# cat /etc/passwd|grep "^w"

wangyalin:x:1000:1000::/home/wangyalin:/bin/bash

##过滤以bash结尾的内容

[root@wangyalin-hunan-changsha shell]# cat /etc/passwd|grep "bash$"

root:x:0:0:root:/root:/bin/bash

##egrep

grep的拓展版--》支持基本和拓展正则--元字符

元字符

##echo和eval的区别

1.eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量

3.两次扫描
    test.txt内容:hello shell world!
    myfile="cat test.txt"
    (1)echo $myfile  #result:cat test.txt
    (2)eval $myfile  #result:hello shell world!
    从(2)可以知道第一次扫描进行了变量替换,第二次扫描执行了该字符串中所包含的命令

[root@wangyalin-hunan-changsha passwd]# file="cat nihao.txt"

[root@wangyalin-hunan-changsha passwd]# echo "file"

file

[root@wangyalin-hunan-changsha passwd]# echo "$file"

[root@wangyalin-hunan-changsha passwd]# eval "$file"

hello shell

world!

##正则表达式

定义:按照某种正确的规则,将字母,数字,特殊符号组合成一个公式,用来表达某个意思。

##一般多和正则表达式结合使用--》查找命令

[root@wangyalin-hunan-changsha passwd]# awk -F ":" '$3 ~ /[0-9]{4}/{print $1,$3}' /etc/passwd

wangyalin 1000

wangguang 1001

##写正则表达式

正则表达式的规则 

正则的逻辑或  |

[ ]匹配范围的任意字符 [a-z][az][az\-]

##中括号 进行逐个单字符进行取反

[^ ]匹配范围外的任任意字符 [^0-9]##匹配不是数字的字符--》按

{} 组合匹配 touch a{1,3,5} touch b{1..10}

.*匹配任意个字符

.就是匹配单个字符

\用于转义特殊字符,使其失去特殊意义。

/是表示分割字符  --》/b 内容/b

\d(匹配数字)、\w(匹配字母、数字、下划线)、\s(匹配空白字符

##通用修饰符

##次数[a{]1,2}查找1-2个以a 开头的英文单词

##用来描述范围

##元字符

+  ##表示1个或者多个前面的字符

?##表示0个或者1个前面的字符

* ##表示0个或者多个前面的字符

##锚点搜索

\b \b以什么单词搜索\<>\ =

\< 以什么单词开头===\b

\> 以什么单词结尾\b

^$表示是空格

##查看IP地址为255.255.255.255的正则表达式

255.255.255.255

[root@wangyalin-hunan-changsha passwd]# cat /var/log/secure|egrep "(([0-9][1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9][1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|2[5][0-5])"

255.255.255.255

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值